任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生,它是这样定义的:

F(1)=1;

F(2)=2;

F(n)=F(n-1)+F(n-2)(n>=3);

所以,1,2,3,5,8,13……就是菲波那契数列。

在HDOJ上有不少相关的题目,比如1005 Fibonacci again就是曾经的浙江省赛题。

今天,又一个关于Fibonacci的题目出现了,它是一个小游戏,定义如下:

1、 这是一个二人游戏;

2、 一共有3堆石子,数量分别是m, n, p个;

3、 两人轮流走;

4、 每走一步可以选择任意一堆石子,然后取走f个;

5、 f只能是菲波那契数列中的元素(即每次只能取1,2,3,5,8…等数量);

6、 最先取光所有石子的人为胜者;

假设双方都使用最优策略,请判断先手的人会赢还是后手的人会赢。

Input

输入数据包含多个测试用例,每个测试用例占一行,包含3个整数m,n,p(1<=m,n,p<=1000)。

m=n=p=0则表示输入结束。

Output

如果先手的人能赢,请输出“Fibo”,否则请输出“Nacci”,每个实例的输出占一行。

Sample Input

1 1 1

1 4 1

0 0 0

Sample Output

Fibo

Nacci

题解 sg函数求解 需要注意一点就是斐波那契数列是f[0]=1;

#include<cstdio>
#include<cstring>
using namespace std;
int f[50],sg[1011],s[1011];
void getsg(int n)
{
memset(sg,0, sizeof(sg));
for(int i=1;i<=n;i++)
{
memset(s,0, sizeof(s));
for(int j=0;f[j]<=i&&j<=20;j++)
{
s[sg[i-f[j]]]=1;
}
for(int j=0;;j++)
{
if(!s[j])
{
sg[i] = j;
break;
}
}
}
}
int main()
{
int m,n,p;
f[0]=1;
f[1]=1;
f[2]=2;
for(int i=3;i<=20;i++)
f[i]=f[i-1]+f[i-2];
getsg(10);
while(scanf("%d%d%d",&m,&n,&p),m||n||p)
{
if(sg[m]^sg[n]^sg[p]) puts("Fibo");
else puts("Nacci");
}
return 0;
}
//Fibo 先手
//Nacci 后手

最新文章

  1. sql杀死进程
  2. 02Spring_Ioc和DI介绍
  3. 双击vbs时,默认cscript运行脚本
  4. eclipse调试jdk源码
  5. UDP程序设计
  6. HSSF,XSSF和SXSSF的区别
  7. 解决ArcGIS Engine AE 读取shapefile中文属性乱码的一条偏方
  8. SQLite 入门教程(四)增删改查,有讲究 (转)
  9. Ubuntu 怎么在右键添加打开终端
  10. Nginx http 500错误分析及解决方法
  11. Oracle Database 10g Express Edition系统文件损坏的解决办法
  12. 独立完成一个移动点餐wap后的小结
  13. Easyui 修改|新增jquery-easyui icon图标
  14. [python]Git
  15. 计算机基础+python安装注意问题+python变量介绍
  16. Swig--模板引擎
  17. 单元测试使用spring注解获取bean
  18. Android分享到微信和朋友圈的工具类
  19. ubantu 单用户模式进入系统
  20. Shell if else

热门文章

  1. SpringMVC03 ParameterMethodNameResolver(参数方法名称解析器) And XmlViewResolver(视图解析器)
  2. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第十三天(非原创)
  3. 【踩坑】socket.io服务器不能访问
  4. CentOS6.x升级MySQL 5.1到5.6
  5. 爱加密so保护简单脱壳测试
  6. 安装windows phone 7
  7. 从asp.net到jsp:3分钟看透Jsp&amp;Servlet
  8. 使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10
  9. hdu-3572 Task Schedule---最大流判断满流+dinic算法
  10. STM32启动流程