题解——HDU 1848 Fibonacci again and again
一道组合游戏的题目
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相关推荐
- HDU 1848 Fibonacci again and again(博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:游戏规则如下: 1. 这是一个二人游戏; 2. 一共有3堆石子,数量分别是m, n, ...
- (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]) .一定要加括号, ...
- HDU 1848 Fibonacci again and again
#include<stdio.h> #include<string.h> #include<stdlib.h>const int MAXN = 1005; int ...
- 斐波那契数列大数的压位c语言,HDU 1568 Fibonacci(大数前4位)
分析:x=1234567.求其前四位数: log10(x)=log10(1.234567)+6. 所以1.234567=10^(log10(x)-6). 1234 =(int) 10^(log10(x ...
- SG函数入门HDU 1848
SG函数 sg[i]为0表示i节点先手必败. 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数.例如mex{0,1,2,4}=3. ...
- 【hdu 1848】Fibonacci again and again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- hdu 1848(Fibonacci again and again)(SG博弈)
Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- Fibonacci again and again HDU - 1848(尼姆博弈+SG函数的运用+SG函数详解)
题意: 给出三堆石子(m,n,p个),两人每次只能取斐波那契数f[i]个,最先取光所有石子者取胜 题目: 任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义 ...
- HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
最新文章
- MySQL之条件表达式
- 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
- 元素上下左右居中的几种方法
- #include 中的stat.h文件到底在哪个目录下面?
- oracle的undo表空间不足,undo表空间不足,ORA-30036 unable to extend segment by ...
- 简述局域网与分布式系统异同点
- JavaScript数组sort()方法小结
- Python之数据分析(numpy中的多项式拟合)
- Pandas系列(五)对缺失值的处理
- 基于qt开发的一款聊天气泡框
- HTML5气泡悬浮框(已经加上完整文件)
- 新颖的自我介绍_三句有创意的自我介绍 简短有创意的自我介绍
- array 前端面试题_前端面试中的常见的算法问题
- html详细笔记及练习的几个例子
- 利用Canvas 实现前端图片涂抹效果
- buildroot制作树莓派CM3的系统
- Java工程师 操作系统(四) 面试题(Day35)
- 华为设备如何查看风扇的序列号?
- 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程
- VS code 下载加速 中文设置 中英文切换 中文注释乱码