首页 > 代码库 > POJ 2484

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\n");11         else printf("Alice\n");12     }13     return 0;14 }
View Code