poj 2484 A Funny Game (简单博弈)

版权声明:转载注明下出处就行了。 https://blog.csdn.net/LJD201724114126/article/details/83758427

题目链接:poj 2484

题意:给出n个顺时针排列的n枚硬币,每次只能取一个或者取相邻的两枚,Alice先取,问:谁取走最后一枚硬币?

题解:这题很gou,看看代码你就知道了。

///当n>=3时,Alice先拿,会把环拆成一条链,假如剩下奇数个硬币数,
///那么Bob只需在最中间拿走一个,把链拆成左右两条相等硬币数的链,
///接着Alice只能在其中一条链中取,那么Bob也很gou的在另一条链也取同样的硬币数
///最后的最后,Bob就win了。
///再假如剩下的硬币数为偶数,那么Bob就取走中间两个
///这题真是gou

#include<cstdio>
#include<algorithm>
#include<cstring>

using namespace std;

int main()
{
    int n;

    while(~scanf("%d",&n)&&n)
    {
        if(n>=3) printf("Bob\n");
        else printf("Alice\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/LJD201724114126/article/details/83758427