Description
有一个球在n*n的矩阵的左上角,有两个人在玩游戏,每次操作者可以把这个球向上下左右任意一个方向移动一格,移动过的格子不能再走,无法操作者输,求谁会赢?
n<=10000
Solution
原来中山市还挺强的嘛,市选题都上了八中OJ了。
然而这道题好♂难呀!
考场上打表可以发现,n是偶数先手必胜,奇数后手必胜。
我们把原网格拆成一堆1*2的小格子。每次后手的人就是寻找新的一个格子,若没有就输了。而先手只需要沿着这个格子再走一步就好了。
Code
#include<cstdio>
using namespace std;
int n;
int main() {
for(scanf("%d",&n);n;scanf("%d",&n)) printf(n&1?"Bob\n":"Alice\n");
}