题意:

3堆石头,个数分别是m,n,p。

两个轮流走,每走一步可以选择任意一堆石子,然后取走f个。f只能是菲波那契中的数(即1,2,3,5,8.....)

取光所有石子的人胜。

判断先手胜还是后手胜。

思路:

简单SG。看代码。

代码:

int sg[1005];

int dfs(int x){
if(sg[x]!=-1)
return sg[x];
bool vis[1005]={0};
int t1=1,t2=2;
if(x>=t1) vis[dfs(x-t1)]=true;
while(x>=t2){
vis[dfs(x-t2)]=true;
t1=t1+t2; swap(t1,t2);
}
for(int i=0;;++i){
if(!vis[i]){
return sg[x]=i;
}
}
} int m,n,p;
int main(){
mem(sg,-1);
while(scanf("%d%d%d",&m,&n,&p),m||n||p){
dfs(m); dfs(n); dfs(p);
int ans=dfs(m)^dfs(n)^dfs(p);
if(ans)
puts("Fibo");
else
puts("Nacci");
}
}

最新文章

  1. 小小C程序(九九乘法表)
  2. Debian使用相关
  3. Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)
  4. Boostrap栅格系统
  5. mmap
  6. 【Android 应用程序开发】 Fragment 详细说明
  7. 从零开始学习C#——HelloWorld(一)
  8. Android hook神器frida(一)
  9. JavaScript中的call()、apply()与bind():
  10. Webapi调用
  11. JSP自定义标签必知必会
  12. 远程链接mysql
  13. win10-Anaconda2-Theano-cuda7.5-VS2013
  14. maven工程的多环境配置方案(profile)
  15. ac1008
  16. js中this关键字的使用
  17. Vue.js随笔三(npm init webpack my-project指令安装失败解决方案)
  18. virtio,vhost 和vhost-user
  19. 八、IntelliJ IDEA 缓存和索引的介绍及清理方法
  20. python--selectors模块

热门文章

  1. 迷你商城后端管理系统 ———— stage2 项目的核心代码实现
  2. 解析Markdown文件生成React组件文档
  3. sqlite3 import/export db sqlite 导入 导出 数据
  4. javascript 定时器 timer setTimeout setInterval (js for循环如何等待几秒再循环)
  5. vue three.js 结合tween.js 实现动画过渡
  6. 被校园网限速限流的日子 | 路由代理ipv6访问的操作手册
  7. Java 集合基础入门,看这篇就够了
  8. 小程序 rich-text 处理显示
  9. SpringBoot入门01-环境部署
  10. FastAPI 学习之路(五)