BZOJ2463 [中山市选2009]谁能赢呢?

题面在这里

首先一个\(N\times N\)的棋盘,如果\(N\)是偶数则一定能被\(1\times 2\)的骨牌平铺

如果\(N\)是奇数则有1格不能覆盖

考虑这个游戏,先手一定走同一块骨牌没走过的那格,后手一定走到一块新的骨牌

\(N\)是偶数,先手必胜,\(N\)是奇数后手必胜

示例程序:

1
2
3
4
5
6
7
#include<cstdio>

int n;
int main(){
while (scanf("%d",&n),n) puts((n&1)?"Bob":"Alice");
return 0;
}