您的位置:首页 > 其它

POJ 2484 A Funny Game

2015-09-07 20:55 435 查看
<span style="font-size:18px;"><strong>本题题意为,给出N个硬币围成一个圈,然后两个人从这圈硬币中轮流拿1个或毗邻的2个硬币。直到全部拿完为止,最后一个拿的人为,胜者。  </strong></span>
<span style="font-size:18px;"><strong>当N<3时,肯定是最开始先拿的人胜利。因为此时,N==1,N==2,只要拿一次就可以拿完。 当N>=3时,肯定是第2个拿的人胜利,因为当N为偶数时,不管第1个人,怎么拿,第2个人拿与第一个人同样数量的硬币,且与第1人所拿硬币呈中心对称。最后一定是第2个人胜利。当N为奇数时,在第1轮中,只要第2个人所拿的硬币数与第1个人所拿的硬币数不同,且与第1人所拿硬币呈中心对称。经过第1轮后,就变成了N为偶数的情况一样的了。最后也是第2人胜利。</strong></span>
#include<cstdio>#include<cstring>#include<cmath>#include<ctime>#include<algorithm>#include <iostream>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#define INF 0x3f3f3f3f#define maxn 500100#define mem(a) memset(a,0,sizeof(a))using namespace std;typedef long long ll;int main(){int n;while(scanf("%d",&n) && n){if(n < 3)printf("Alice\n");elseprintf("Bob\n");}return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: