1. 程式人生 > >HDU 2516 取石子游戲 (斐波那契博弈)

HDU 2516 取石子游戲 (斐波那契博弈)

大神部落格:http://blog.csdn.net/acm_cxlove/article/details/7835016

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

using namespace std;
long long f[60]={0,1,2};

int main()
{
    for(int i=3;i<60;i++)
        f[i]=f[i-1]+f[i-2];
    int n;
    int t;
    while(~scanf("%d",&n),n)
    {

        int i;
        for( i=1;i<60;i++)
            if(n==f[i])
                break;
            if(i==60)
                cout<<"First win"<<endl;
            else
                cout<<"Second win"<<endl;
    }
   // system("pause");
    return 0;
}