题意:n个相同的棋子围成一个圆,Alice Bob两人从甲开始轮流取棋子,每次可以取走一个或者两个初始位置相邻的棋子,首先取走所有棋子的人胜利。
题解:n<=2的时Alice必胜;
n == 3时Bob必胜;
n > 3时Alice一次取不完,这样所有的棋子就变成一条链,Bob取之后一定能将棋子分成两份相等的棋子,之后Bob与Alice操作相同即可,所以Bob必胜。
Sure原创,转载请注明出处。
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int main()
{
while(scanf("%d",&n) && n)
{
puts(n <= 2 ? "Alice" : "Bob");
}
return 0;
}