hdu 1848 Fibonacci again and again (SG)
2024-10-19 15:41:33
题意:
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");
}
}
最新文章
- 小小C程序(九九乘法表)
- Debian使用相关
- Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)
- Boostrap栅格系统
- mmap
- 【Android 应用程序开发】 Fragment 详细说明
- 从零开始学习C#——HelloWorld(一)
- Android hook神器frida(一)
- JavaScript中的call()、apply()与bind():
- Webapi调用
- JSP自定义标签必知必会
- 远程链接mysql
- win10-Anaconda2-Theano-cuda7.5-VS2013
- maven工程的多环境配置方案(profile)
- ac1008
- js中this关键字的使用
- Vue.js随笔三(npm init webpack my-project指令安装失败解决方案)
- virtio,vhost 和vhost-user
- 八、IntelliJ IDEA 缓存和索引的介绍及清理方法
- python--selectors模块
热门文章
- 迷你商城后端管理系统 ———— stage2 项目的核心代码实现
- 解析Markdown文件生成React组件文档
- sqlite3 import/export db sqlite 导入 导出 数据
- javascript 定时器 timer setTimeout setInterval (js for循环如何等待几秒再循环)
- vue three.js 结合tween.js 实现动画过渡
- 被校园网限速限流的日子 | 路由代理ipv6访问的操作手册
- Java 集合基础入门,看这篇就够了
- 小程序 rich-text 处理显示
- SpringBoot入门01-环境部署
- FastAPI 学习之路(五)