POJ - 2484 A Funny Game (简单博弈)

题意:给你n个硬币组成的环,你可以每次取出一个硬币或者相邻的两个硬币,之后硬币的位置不改变,不能取的人输

思路:对于一个环来说,对于一个大于三的环,如果是偶数我可以直接对称的取,先手取那个那么我后手取和他对称的那个,

如果是奇数,我们取一个那么我后手取两个那么先手就会面临对称的,先手取2个我后手取一个先手还是必面对对称的所以只要比三大先手输

上代码:

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		if(n == 0) break;	
		if(n>=3)
		{
			puts("Bob");
		}
		else
		{
			puts("Alice");
		}
	}
	return 0;
}


猜你喜欢

转载自blog.csdn.net/wjmwsgj/article/details/80192664