题目大意:
ailyanlu 和 8600玩棋盘游戏,棋盘的大小是 n*n。棋子放在一个角落的方格上。8600第一个先走,每一次,玩家都可以将石头水平或垂直的移动到一个未被访问的相邻的方格。没有能够移动的方格的人将会输掉比赛。如果双方采取策略最优,谁将赢得这场比赛?
大体思路:找规律 看下图:
S表示起点。
如果 n 为偶数,那么所有格子可以被 2*1 的砖块覆盖掉。 这样先手每次都移动到当前 2*1 的另外一块。先手必赢。
如果 n 为奇数。除了起始那个点,其余点都被 2*1 的砖块覆盖。所以后手必赢。
附上代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
int main()
{
int n;
while(
scanf(
"%d",&n)&&n)
{
if(n%
2 ==
0)
puts(
"8600");
else puts(
"ailyanlu");
}
return 0;
}