HDOJ 1848 Fibonacci again and again
来源:互联网 发布:全球数据交换中心 编辑:程序博客网 时间:2024/06/07 15:52
题目链接:HDOJ1848
题目的状态转移给定是Fibonnacci的前几个数,需要提前打表计算
然后求SG(x),只需要去计算SG(x-1),SG(x-2)……SG(x-Fk),其中Fk是min【x,题中可能的最大Fibonacci】
代码如下:
#include<bits/stdc++.h>using namespace std;const int N=1050;int sg[N];int f[N];int g(int x){int mex[1010];memset(mex,0,sizeof(mex));if (sg[x]!=-1) return sg[x];for(int i=1;f[i]<=x;i++)mex[sg[x-f[i]]]=1;for(int i=0;;i++)if (!mex[i]) return sg[x]=i;}int main(){//freopen("input.txt","r",stdin);memset(sg,-1,sizeof(sg));int i,m,n,p;f[0]=f[1]=1;for(i=2;i<=16;i++) f[i]=f[i-1]+f[i-2];for(int i=0;i<1001;i++) g(i); while(scanf("%d%d%d",&m,&n,&p)!=EOF){ if(!m&&!n&&!p) break; if((sg[m]^sg[n]^sg[p])==0) printf("Nacci\n"); else printf("Fibo\n"); }return 0;}
0 0
- HDOJ 1848 Fibonacci again and again
- HDOJ 1848 Fibonacci again and again
- HDOJ 1848 Fibonacci again and again
- HDoj-1848-Fibonacci again and again-博弈-SG函数
- HDOJ 1848 Fibonacci again and again(SG函数)
- Fibonacci again and again
- Fibonacci again and again
- HDU 1848 Fibonacci again and again
- hdu 1848Fibonacci again and again
- hdu 1848 Fibonacci again and again
- hdu 1848 Fibonacci again and again
- HDU 1848 Fibonacci again and again
- hdu-1848 Fibonacci again and again
- HDU 1848 Fibonacci again and again
- HDU-1848-Fibonacci again and again
- HDU 1848 -Fibonacci again and again 博弈论
- hdu 1848 Fibonacci again and again
- HDU 1848 Fibonacci again and again
- 贪心_4
- CXF发布中java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log问题
- Linux中TCP黏包问题及其解决方案
- vs2015编译CEF
- web前端多重筛选、json
- HDOJ 1848 Fibonacci again and again
- 合并 XML 文件
- Linux使用Atomicorp的YUM源时提示key ID 4520afa9: NOKEY
- ZZULIOJ /郑轻oj 1905: 小火山的跳子游戏(GCD,思维)
- 百宝云发布按键与TC作者专用的注册码系统升级版
- asp.net MVC 应用程序的生命周期
- 给定N张扑克牌和一个随机函数,设计一个洗牌算法
- CentOs 7怎么联网
- 车道检测与跟踪