HDU 1848 Fibonacci again and again(博弈sg函数)
2016-12-21 15:58
453 查看
#include<iostream> #include<cstring> using namespace std; const int maxn=1000+5; int Hash[maxn]; int sg[maxn],f[maxn]; int g[20]; void cal_sg() { g[1]=1;g[2]=2; for(int i=3;i<=20;i++) g[i]=g[i-1]+g[i-2]; memset(sg,0,sizeof(sg)); for(int i=1;i<=1000;i++) { memset(Hash,0,sizeof(Hash)); for(int j=1;j<=20&&i>=g[j];j++) Hash[sg[i-g[j]]]=1; for(int j=0;j<=1000;j++){ if(Hash[j]==0){ sg[i]=j; break; } } } } int main() { cal_sg(); int m,n,p; while(cin>>m>>n>>p) { if(m+n+p==0) break; if((sg[m]^sg ^sg[p])==0) cout<<"Nacci"<<endl; else cout<<"Fibo"<<endl; } return 0; }
相关文章推荐
- HDU 1848 —— Fibonacci again and again 【博弈 sg函数】
- HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)
- [ACM] hdu 1848 Fibonacci again and again(Nim博弈 SG函数)
- [ACM] hdu 1848 Fibonacci again and again(Nim博弈 SG函数)
- HDU 1848 Fibonacci again and again (博弈,SG函数)
- hdu_1848_Fibonacci again and again(博弈sg函数)
- hdu_1848_Fibonacci again and again(博弈sg函数)
- [ACM] hdu 1848 Fibonacci again and again(Nim博弈 SG函数)
- HDU 1848 Fibonacci again and again【博弈:SG函数】
- HDU-1848-Fibonacci again and again【sg定理】【博弈】
- HDU_1848 Fibonacci again and again(SG函数应用)
- HDU 1848 Fibonacci again and again(SG函数)
- HDU 1848 Fibonacci again and again(博弈 SG运用)
- hdu 1848 Fibonacci again and again (初写SG函数,详解)
- hdu1848 Fibonacci again and again(博弈)
- (step8.2.6)hdu 1848(Fibonacci again and again——组合博弈)
- HDU1848 Fibonacci again and again 博弈
- HDU 1848 Fibonacci again and again(SG函数)
- hdu 1848 Fibonacci again and again 博弈论,求出SG函数,,什么问题都没有了
- 【博弈论】【SG函数】hdu1848 Fibonacci again and again