[文章目录]
Description
小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?
直接蒙结论。奇偶判断。
如果n为偶数的时候,发现棋盘能够被1*2的小矩形覆盖,所以每次进入了一个小矩形都可以走到另一端。并且走过的小矩形一定不能再走。奇数的时候,发现去掉一个格子能够被覆盖,同理。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int main()
{
while(~scanf("%d",&n))
{
if(!n) break;
if(n&1) puts("Bob");
else puts("Alice");
}
return 0;
}