标签:
2 13 10000 0
Second win Second win First win
解题思路:
解题代码:这题没法用sg直接求了,数据量太大了,并且sg会受上次的影响,所以不一定。
因此,仅仅能打表找规律,找到规律发现假设满足斐波那契数列 f[n]=f[n-1]+f[n-2] 的数列,Second Win 否则 ,First Win
#include <iostream> #include <cstdio> #include <set> using namespace std; set <int> mys; void ini(){ int f1=1,f2=1,f3=2; while(true){ f3=f1+f2; if(f3<=0) break; mys.insert(f3); f1=f2; f2=f3; } } int main(){ ini(); int n; while(scanf("%d",&n)!=EOF && n!=0){ if(mys.find(n)!=mys.end()) printf("Second win\n"); else printf("First win\n"); } return 0; }
标签:
原文地址:http://www.cnblogs.com/mengfanrong/p/4251413.html