题解:因为是一个环,当n>3时无论alice先取,然后Bob可以从中个特殊的位置,使其分成相同的两部分,这样Bob跟着alice取,由于Bob慢一步所以BOb最后赢。
Alice和bob决定玩一个有趣的游戏。 在游戏开始时,他们在一个圆圈中选择n个硬币,如图所示。
移动包括移除一个或两个相邻的硬币,其他硬币位置保持不变。 必须至少移除一枚硬币。 Alice首先开始移动,之后两人交替移动。
移除最后一枚硬币的玩家获胜。
假设Alice和Bob都足够聪明。
你要编写一个程序来确定最终谁将赢得比赛。
输入
多组输入,每个输入占一行。
每行输入一个整数 n(1≤n≤1000000)
当输入 n 为0时结束。
输出
每个输出占一行。对于每个样例,如果 Alice 赢,则输出 “Alice” ,否则输出 “Bob” 。
样例
input
1 2 3 0
output
Alice Alice Bob
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n),n)
{
if(n==1||n==2) printf("Alice\n");
else printf("Bob\n");
}
return 0;
}