| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么这都能过啊,递归的时候s的值被改变了啊啊啊#include<iostream>
using namespace std;
int g[210][210],s[210];
int m,n;
int ff(int n,int m)
{
if(g[n][m]!=-1)
return g[n][m];
int i,j,u;
memset(s,0,sizeof(s));
for(i=2;i<=n/2;i++)
{
u=ff(i,m)^ff(n-i,m);
s[u]=1;
}
for(i=2;i<=m/2;i++)
{
u=ff(n,i)^ff(n,m-i);
s[u]=1;
}
for(u=0;s[u];u++)
;
g[n][m]=g[m][n]=u;
return g[n][m];
}
int main()
{
memset(g,-1,sizeof(g));
g[2][2]=g[2][3]=g[3][2]=0;
while(scanf("%d%d",&n,&m)==2)
{
if(ff(n,m)!=0)
printf("WIN\n");
else
printf("LOSE\n");
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator