一道组合游戏的题目

SG函数的板子题

预处理出SG函数的值然后回答询问即可

代码

#include <cstdio>
#include <algorithm>
#include <cstring>
#define int long long
using namespace std;
int f[20],vis[2000],SG[2000],m,n,p;
int init(int n){f[0]=1;f[1]=1;for(int i=2;i<=n;i++)f[i]=f[i-1]+f[i-2];
}
int getSG(int n){SG[0]=0;for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));for(int j=0;j<=20&&f[j]<=i;j++){vis[SG[i-f[j]]]=1;}for(int j=0;;j++)if(!vis[j]){SG[i]=j;break;}}
}
signed main(){init(20);getSG(1000);scanf("%d %d %d",&m,&n,&p);while(m!=0||n!=0||p!=0){if(SG[m]^SG[n]^SG[p])printf("Fibo\n");elseprintf("Nacci\n");scanf("%d %d %d",&m,&n,&p);}return 0;
}

转载于:https://www.cnblogs.com/dreagonm/p/9570374.html

题解——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. (step8.2.6)hdu 1848(Fibonacci again and again——组合博弈)

    题目大意:输入3个整数m,n,p,分别表示3堆石头中的石头个数 解题思路: 1)斐波那契数列的第16个数fib[16] == 1597 2)(sg[m]^sg[n]^sg[p])   .一定要加括号, ...

  3. HDU 1848 Fibonacci again and again

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

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

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

  5. SG函数入门HDU 1848

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

  6. 【hdu 1848】Fibonacci again and again

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

  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. MySQL之条件表达式
  2. 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
  3. 元素上下左右居中的几种方法
  4. #include 中的stat.h文件到底在哪个目录下面?
  5. oracle的undo表空间不足,undo表空间不足,ORA-30036 unable to extend segment by ...
  6. 简述局域网与分布式系统异同点
  7. JavaScript数组sort()方法小结
  8. Python之数据分析(numpy中的多项式拟合)
  9. Pandas系列(五)对缺失值的处理
  10. 基于qt开发的一款聊天气泡框
  11. HTML5气泡悬浮框(已经加上完整文件)
  12. 新颖的自我介绍_三句有创意的自我介绍 简短有创意的自我介绍
  13. array 前端面试题_前端面试中的常见的算法问题
  14. html详细笔记及练习的几个例子
  15. 利用Canvas 实现前端图片涂抹效果
  16. buildroot制作树莓派CM3的系统
  17. Java工程师 操作系统(四) 面试题(Day35)
  18. 华为设备如何查看风扇的序列号?
  19. 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程
  20. VS code 下载加速 中文设置 中英文切换 中文注释乱码

热门文章

  1. 科技城|从专利布局看人工智能领域全球竞争与中国面临的挑战
  2. 重磅!“全脑介观神经联接图谱”大科学计划中国工作组成立!
  3. 收藏!中国卫星互联网产业发展白皮书
  4. 美国芯片简史:军方大力扶持下的产物 但一度被日 韩超越
  5. AI芯片重磅破局者,开启边缘新智元
  6. 5G时代到来,人工智能设备如何重塑TMT行业
  7. 阿里、腾讯基本薪资曝光,资深算法工程师24万美元,高级研究员26万美元
  8. 硬核!如何全面系统地自学 Java ?(必看)
  9. 十四:桥接者模式(发送各类短信案例)
  10. 雷林鹏分享:PHP 简介