51nod 1605 棋盘问题(博弈论)

1.0 秒 131,072.0 KB 40 分 4级题
上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的。

亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色,然后将这些格子染白。

如果谁不能操作了,那么那个人就输了。

亚当喜欢质数。

夏娃喜欢1,但讨厌2。

因此他们规定,x只有可能是非2质数或者是1。

现在他们想知道,如果他们都用最优策略进行游戏,谁会赢。

上帝规定亚当先手。


因为只能是1或者非2质数,所以如果能继续的话不管怎么样都是会染掉奇数个格子,所以只要判断黑色格子的奇偶性即可

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#include<string>
#include<vector>
using namespace std;

int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m,c,num=0;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
scanf("%d",&c);
if(c==1)num++;
}
}
if(num&1)printf("yadang\n");
else printf("xiawa\n");
}
return 0;
}
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2021 LeFlacon

奶茶一杯 快乐起飞

支付宝
微信