题目大意:输入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]外面别忘了加括号(),否则会WA
printf("Nacci\n");
}else{
printf("Fibo\n");
}
}
}

最新文章

  1. lvs源代码分析
  2. Spark Streaming源码解读之Driver中ReceiverTracker架构设计以具体实现彻底研究
  3. 电脑公司最新GHOST WIN7系统32,64位优化精简版下载
  4. get和post的区别与乱码问题解决
  5. PowerDesigner实用技巧小结(3)
  6. 运用linq查找所有重复的元素
  7. eclipse 重构功能。
  8. WebApi2官网学习记录---Content Negotiation
  9. 横瓜从WP7与WP8不兼容之处预测微软公司在未来20年将会倒闭
  10. Spring Security教程系列(一)基础篇-1
  11. js函数整合队列顺序执行插件
  12. Mysql_存储过程
  13. tnsping 不通
  14. java基础_0204:运算符
  15. Groovy与Java集成常见的坑
  16. HDU.1529.Cashier Employment(差分约束 最长路SPFA)
  17. Ubuntu下orbbec mini 无法正常显示图像问题
  18. [Robot Framework] 执行时报 webdriver 异常
  19. C++学习记录(留坑)
  20. 第76天:jQuery中的宽高

热门文章

  1. 文件下载 .net
  2. 关于php析构函数__destruct()的问题
  3. Android中图片处理相关问题
  4. Java学习02
  5. BZOJ 1642: [Usaco2007 Nov]Milking Time 挤奶时间( dp )
  6. Chrome Firefox 自定义背景色
  7. Delphi 中 COM 实现研究手记(一)
  8. 投票系统前台 C#,数据库SQL
  9. 自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  10. Vijos P1067Warcraft III 守望者的烦恼