light oj 1393 - Crazy Calendar 博弈论

时间:2023-03-08 16:18:55

思路:当移到右下角时,就不能移动了。所以与右下角的奇偶性相同的位置,都不能直接到达,先手必败!

只需考虑与右下角奇偶不同的位置,可以看成NIM博弈。最后NIM和不为0的胜,否者败!!

代码如下:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#define M 105
using namespace std;
int main()
{
int t,ca=,n,m,a;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
int ans=;
bool b=(n+m)&;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++){
scanf("%d",&a);
if(((i+j)&)!=b)
ans^=a;
}
printf("Case %d: %s\n",++ca,ans?"win":"lose");
}
return ;
}