POJ 2484

很明显地,我们知道,当N=1,2时,先手胜。当N=3时,可以把取走中间一个硬币,得到1,1。依然是先手胜。当N=4时,取走中间两点得到1,1,即先手依然取胜。当N=5时,取走中间1点,依然先手胜。

于是,当ALICE取走开头的硬币后,即得到一条链。那么,只需BOB把这条链平均分成两半,做对称操作,即可使ALICE必败。

 1 #include <iostream>
 2 #include <cstdio>
 3 
 4 using namespace std;
 5 
 6 int main(){
 7     int n;
 8     while(scanf("%d",&n)!=EOF){
 9         if(n==0) break;
10         if(n>=3) printf("Bob
");
11         else printf("Alice
");
12     }
13     return 0;
14 }
View Code
原文地址:https://www.cnblogs.com/jie-dcai/p/3790033.html