题目链接: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");elseprintf("Fibo\n");}return 0;
}

HDOJ 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

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

  4. HDU 1848 Fibonacci again and again

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

  5. 【博弈论】博弈论入门笔记(四类基础博弈+SG函数)

    『博弈论定义』 博弈论又被称为对策论(Game Theory):是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论.博弈论是研究互动决策的理论.博弈可以分析自己与对手的 ...

  6. 三个常见博弈游戏以及 SG 函数和 SG 定理

    前言 原文章 通过数论或者自然数性质完美解决的三个常见博弈游戏: 博弈 解决方法 Bash Game 同余理论 Nim Game 异或理论 Wythoff Game 黄金分割 Bash Game 描述 ...

  7. 博弈论(Bash博弈、Nim博弈、SG函数、组合博弈)

    组合博弈入门 一.博弈论三条性质: 终结点为P点 P点只能到N点 N点至少有一种途径到P点 N:必胜态 P:必败态    1.引导题 1846 Brave Game 题目大意: n个石子两人轮流取1~ ...

  8. 博弈论——公平组合游戏与SG函数

    参考自算法竞赛进阶指南 公平组合游戏与有向无环图 一个博弈游戏被称为公平组合游戏(ICG)当且仅当其同时满足3个条件 由两名玩家交替行动 游戏任意时刻可进行的操作与轮到哪名玩家无关 不能进行操作的玩家 ...

  9. 【hdu 1848】Fibonacci again and again

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

最新文章

  1. github 创建新项目
  2. 当我们不为了拿奖,而在做事情的时候
  3. 图解系列之垃圾收集标记整理算法
  4. 计算机二级c语言考试模拟试题,计算机二级C语言考前模拟试题及答案2016
  5. click点击后鼠标移去就失效怎么实现_鼠标右键失灵怎么办,你知道原因吗?
  6. linux7系统如何配置网卡,Linux 7 配置网卡(nmcli)
  7. a标签js阻止跳转_前端笔试知识点:阻止冒泡
  8. educoder第六章 关联挖掘 实验二:FP-growth
  9. 基于单片机的电集中抄表设计
  10. CF Round #537 (Div. 2)
  11. python如何写简历_python简历—你可以这么写!
  12. 数据库中间件DBLE学习(一) 基本介绍和快速搭建
  13. Python——click模块
  14. 排除万难,从入门到精通区块链
  15. Electron对接语音唤醒Windows SDK
  16. Python 第几周和星期几
  17. 说说filter这个css属性(网站置灰实现)
  18. Java同步技术 (一)
  19. 函数极限:函数极限的多种形式
  20. 计算机用老毛桃u盘备份系统,老毛桃一键还原,教您电脑如何使用老毛桃一键还原...

热门文章

  1. 自己主动图片生成在前端开发中的一些尝试
  2. 吃西瓜--爬虫系列之Request使用方法
  3. 东芝R700深度解析 2010-11-26
  4. Postgresql 压力测试 pgbench 与 准不准
  5. 鼠标如何从常见虚拟机中切出?
  6. 清华镜像站下载android源码
  7. Python3 基础
  8. 智慧展馆 |基于臻图ZTMAP3DGIS数字孪生技术落地创新智慧展馆
  9. Unity AnimationClip 动态创建和修改AnimationEvent
  10. 【linux】使用 nice、cpulimit 和 cgroups 限制 cpu 占用率