poj 2311
注意如何转化为nim。
代码:
#include<iostream>
#include<fstream>
using namespace std;
int g[201][201];
int v[201][201];
int n,m;
int solve(int s,int t){
int i,j,k;
if(v[s][t]) return g[s][t];
bool v2[400]={0};
v[s][t]=1;
for(i=2;i<=s/2;i++)
{
j=solve(i,t);
k=solve(s-i,t);
v2[j^k]=1;
}
for(i=2;i<=t/2;i++)
{
j=solve(s,i);
k=solve(s,t-i);
v2[j^k]=1;
}
for(i=0;;i++)
if(v2[i]==0)
{
g[s][t]=i;
break;
}
return g[s][t];
}
void read(){
// ifstream cin("in.txt");
int i,j,k;
while(cin>>n>>m)
{
solve(n,m);
if(g[n][m]>0)
cout<<"WIN"<<endl;
else
cout<<"LOSE"<<endl;
}
}
int main(){
read();
return 0;
}
浙公网安备 33010602011771号