题解:离右下顶点距离为偶数的位置对答案没有贡献,距离为奇数的点下一个状态距离必然是偶数点,则局势转变为谁能取走最后一个,nim博弈
AC代码:
#include<stdio.h>
#include<algorithm>
#include<iostream>
#define ll long long
using namespace std;
int main(){
int t;
scanf("%d",&t);
for(int t1=1;t1<=t;t1++){
int n,m;
scanf("%d%d",&n,&m);
ll sg=0,i;
for(int a=1;a<=n;a++){
for(int b=1;b<=m;b++){
scanf("%lld",&i);
ll sum=(n-a+m-b)%2;
if(sum==0)
continue;
sg^=i;
}
}
printf("Case %d: ",t1);
if(sg==0)
printf("lose\n");
else
printf("win\n");
}
}