1. 程式人生 > >hdu 2516 取石子游戲(博弈)

hdu 2516 取石子游戲(博弈)

只要列舉一下前面十幾組資料的勝負手,就可以很明顯地看出來只有菲薄數是先手輸,其他都是先手贏。

#include<stdio.h>
#include<string.h>
typedef long long LL;
LL a[60];
int main()
{
    a[1]=2;a[2]=3;
    for(int i=3;i<=50;i++) a[i]=a[i-1]+a[i-2];
    //printf("%I64d\n",a[50]);
    LL n;
    while(scanf("%I64d",&n),n)
    {
        int flag;
        flag=0;
        for(int i=1;i<=50;i++)
        {
            if(a[i]==n)
            {
                flag=1;
                break;
            }
        }
        if(flag) printf("Second win\n");
        else printf("First win\n");
    }
    return 0;
}