HDU-1564 Play a game
Play a game
两个人进行博弈,给出 \(n*n\) 的格子,棋子起始点在角落,两个人交叉地进行操作,每次只能移动到一个相邻的格子(四个方向),并且访问过的格子不能再访问,如果走到不能走就算输,问先手必胜还是后手必胜
博弈
看了别人的题解才知道
相邻的格子可以成对成对地组合,这样就可以使得先手进入到一对格子的第一个,那么后手就一定可以找到成对的
格子的另一个,所以后手必胜
对于偶数 \(n\) 来说,直接成对组合即可,因此是先手必胜
对于奇数 \(n\) 来说,在第一行中,第一个已经被访问,所以第一行有偶数列,能成对;接下来有剩下偶数行,也能成对组合。所以是后手必胜
这位大哥写的挺好:https://www.cnblogs.com/kuangbin/archive/2013/07/22/3204654.html
#include <iostream>
using namespace std;
int main()
{
int n;
while(cin >> n && n)
{
if(n & 1) cout << "ailyanlu" << endl;
else cout << "8600" << endl;
}
return 0;
}