洛谷 P2252 [SHOI2002]取石子游戏|【模板】威佐夫博弈

传送门


解题思路

结论题,威佐夫博弈就是让你背个结论。

若(向下取整)两个数的差*黄金分割比 == 较小的数,则先手输,否则先手胜。

注意先确定两个数的大小,黄金分割比用double。

AC代码

复制代码
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<iomanip>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8 int n,m;
 9 double a=(sqrt(5.0)+1.0)/2.0;
10 int main(){
11     while(cin>>n>>m){
12         if(n>m) swap(n,m);
13         if(floor((m-n)*a)==n) cout<<0<<endl;
14         else cout<<1<<endl;    
15     }
16     return 0;
17 }
复制代码

 

作者:尹昱钦
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

posted @   尹昱钦  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!
点击右上角即可分享
微信分享提示