51Nod1605 棋盘问题
Problem
上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的。
亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色,然后将这些格子染白。
如果谁不能操作了,那么那个人就输了。
亚当喜欢质数。
夏娃喜欢1,但讨厌2。
因此他们规定,x只有可能是非2质数或者是1。
现在他们想知道,如果他们都用最优策略进行游戏,谁会赢。
上帝规定亚当先手。
样例解释:
这里x只有可能是1,因此经过3次操作后,夏娃无法操作,亚当胜。
Solution
由于每次只能染色奇数个,只需要判断黑色的棋子有奇数还是偶数个即可。
Code
#include<stdio.h>
int T,n,m,sum,x;
int a[120][120];
int main(){
scanf("%d",&T);
while(T--){
sum=0;
scanf("%d%d",&n,&m);
for(int i=1;i<=n*m;i++){
scanf("%d",&x);
if(x==1) sum++;
}
if(sum%2){
printf("yadang\n");
}
else{
printf("xiawa\n");
}
}
return 0;
}