poj2484 A Funny Game

题目描述

题解:

$n=1$或$n=2$时,先手直接取完,先手必胜;

$n=3$时,先手必败;

$n>3$时,若$n$为偶数,先手在一个位置上取了一个/两个,后手就在对称位置上取一个/两个。

若$n$为奇数,第一轮先手在一个位置上取了一个/两个,后手就在对称位置上取两个/一个,接下来按对称取。

所以总结一下,

先手只在$n<=2$时能赢。

代码:

#include<cstdio>
int n;
int main()
{
    while(scanf("%d",&n))
    {
        if(!n)break;
        if(n<=2)puts("Alice");
        else puts("Bob");
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/LiGuanlin1124/p/10306621.html