[BZOJ2463][中山市选2009]谁能赢呢? 题解
$bzoj$:https://www.lydsy.com/JudgeOnline/problem.php?id=2463
$luogu$网址不贴了。
题目保证是最优策略,并且小明先走,所以如果$n \times n$为偶数,输出$Alice$。反之输出$Bob$。
经典博弈论题目啊。
证明方法:
因为我们可以把这个$n \times n$的矩阵分割成若干个$1 \times 2$的长方形方块,那么如果$n \times n$为奇数,很显然,一开始左上角放石子的地方是唯一一个没有被分割的格子。所以在这种情况下,先手必败。反之先手必胜。
证毕。
我们知道,如果$n \times n$是奇数,$n$就为奇数,如果$n \times n$是偶数,$n$也为偶数。所以只要判断一下$n$的奇偶就行了。
$code$
#include <cstdio> int main() { int n; while(1) { scanf("%d", &n); if(!n) return 0; if(n&1) printf("Bob\n"); else printf("Alice\n"); } }
转载是允许的,但是除了博主同意的情况下,必须在文章的明显区域说明出处,否则将会追究其法律责任。