题目大意:输入3个整数m,n,p,分别表示3堆石头中的石头个数

解题思路:

1)斐波那契数列的第16个数fib[16] == 1597

2)(sg[m]^sg[n]^sg[p])   。一定要加括号,否则会WA

代码如下:

/** 1848_1.cpp**  Created on: 2013年9月1日*      Author: Administrator*/#include <iostream>using namespace std;const int maxn = 1001;
int sg[maxn];
int f[maxn];
int hash[maxn];void getSG(int n){int i,j;memset(sg,0,sizeof(sg));for(i = 1 ; i<= n ; ++i){memset(hash,0,sizeof(hash));for(j = 1 ; f[j] <= i ; ++j ){hash[sg[i-f[j]]] = 1;}for(j = 0 ; j <= n ; ++j){if(hash[j] == 0){sg[i] = j;break;}}}
}int main(){int m,n,p;f[0] = 1;f[1] = 1;int i ;for(i = 2 ; i <= 16 ; ++i){//这里之所以取16是因为fib[16] 已经是 1597,已经大于n的最大值f[i] = f[i - 1] + f[i - 2];}getSG(1000);while(scanf("%d%d%d",&m,&n,&p)!=EOF,m||n||p){if((sg[m]^sg[n]^sg[p]) == 0){//sg[m]^sg[n]^sg[p]外面别忘了加括号(),否则会WAprintf("Nacci\n");}else{printf("Fibo\n");}}
}

(step8.2.6)hdu 1848(Fibonacci again and again——组合博弈)相关推荐

  1. HDU 1848 Fibonacci again and again(博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:游戏规则如下: 1.  这是一个二人游戏; 2.  一共有3堆石子,数量分别是m, n, ...

  2. 题解——HDU 1848 Fibonacci again and again

    一道组合游戏的题目 SG函数的板子题 预处理出SG函数的值然后回答询问即可 代码 #include <cstdio> #include <algorithm> #include ...

  3. HDU 1848 Fibonacci again and again

    #include<stdio.h> #include<string.h> #include<stdlib.h>const int MAXN = 1005; int ...

  4. 【hdu 1848】Fibonacci again and again

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...

  5. SG函数入门HDU 1848

    SG函数 sg[i]为0表示i节点先手必败. 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数.例如mex{0,1,2,4}=3. ...

  6. 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)

    分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...

  7. hdu 1848(Fibonacci again and again)(SG博弈)

    Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  8. Fibonacci again and again HDU - 1848(尼姆博弈+SG函数的运用+SG函数详解)

    题意: 给出三堆石子(m,n,p个),两人每次只能取斐波那契数f[i]个,最先取光所有石子者取胜 题目: 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义 ...

  9. HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】

    Fibonacci Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Proble ...

最新文章

  1. ICLR 2020| VL-BERT:预训练视觉-语言模型
  2. Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解)...
  3. 解决git@osc每次提交需要输入用户名密码的问题
  4. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 sinωn 的傅里叶变换 | 复变函数欧拉公式 )
  5. VS和Eclipse自动注释比较
  6. android pcm频谱_Android音频可视化
  7. OpenCV形态学变换函数morphologyEx()梯度运算的使用
  8. ASP.NET 2.0 中的资源与本地化
  9. dlopen函数的用法
  10. 20个堪称神器的Linux命令行软件
  11. linnux 流量控制模块tc_FS4008-40-08-CV-A气体质量流量计【汉川仪器】阿坝资讯
  12. python离散变量_python – 当涉及离散变量时,pymc3与pymc2的困难
  13. Java配置文件找不到指定_转载:Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty(user.dir)的理解...
  14. Live2D在Unity中的使用
  15. emacs在windowxp下的一些配置
  16. directx修复工具_Diamond Cut Forensics 10(音频修复软件)分享
  17. 通俗理解动态库与静态库区别
  18. 我的关于 **Mermaid** 语法
  19. BSG白山极客挑战赛 B君的圆锥
  20. 被称为中国版“Robinhood”,老虎与富途谁的低佣生意更值钱?

热门文章

  1. 深度学习未来发展的三种学习范式:混合学习,成分学习和简化学习
  2. 让计算机“拥抱”常识
  3. 观点 | AI 的偏差,取决于人们如何使用机器学习系统
  4. 港片中十个难以超越的经典人物形象
  5. 一文读懂对抗生成网络的3种模型
  6. python库pickle的用法
  7. 机器学习驱动技术是生物学进步的下一个突破
  8. 《Cell》新发现!“第二大脑”的反击
  9. 浙大绘制首个地球微生物“社会关系”网络
  10. Gartner:2020 年 AI 平台魔力象限:意外多多