POJ1067 取石子游戏 解题报告
来源:互联网 发布:淘宝多大可以开店 编辑:程序博客网 时间:2024/05/19 19:43
有两堆石子,数量任意。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者
Input
输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。Output
输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。
讲真,这是一道一行题
通过大量的观察 和写写画画 可以发现:
设 a > b 当且仅当 b = [ (a-b) * (sqrt(5) + 1) / 2 ] (向下去整) 时先手必败 这么丧病的做法,谁能想出来
引用 谢岳良 PPT 里的证明
也只能Orz了
代码(真的是一行!):
#include <cstdio>#include <cmath>#define k ((sqrt(5.0)+1.0)/2.0)int main() { for (int a,b;~scanf("%d%d",&a,&b);puts(b == (int)((a-b)*k) ? "0":"1")) if (a < b) a^=b^=a^=b;}
0 0
- POJ1067 取石子游戏 解题报告
- POJ1067取石子游戏
- poj1067(取石子游戏)
- 取石子游戏POJ1067
- poj1067取石子游戏
- POJ1067----取石子游戏
- poj1067 取石子游戏
- poj1067取石子游戏
- poj1067 取石子游戏
- POJ1067 取石子游戏
- poj1067 取石子游戏
- POJ1067 取石子游戏
- 【poj1067】 取石子游戏
- 取石子游戏解题报告
- 取石子游戏解题报告
- poj1067/hdoj1527 取石子游戏
- poj1067取石子游戏(威佐夫博奕)
- [POJ1067] 取石子游戏 && 博弈
- Log4j配置学习文档之二 处理日滚文件-实现原理
- 量化投资策略:常见的几种Python回测框架(库)
- Docker之理解image,container和storage-driver
- Python的hasattr() getattr() setattr() 函数使用方法详解
- Log4j配置学习文档之二 处理日滚文件-模拟实现
- POJ1067 取石子游戏 解题报告
- php 7 安装多进程扩展
- 第六章 树的抽象数据类型
- VK cup Div1 C. Vulnerable Kerbals (扩展gcd+DAG+最长路)
- android_N上关机闹钟铃声问题_设置的铃声和播放的铃声不一样
- 交换机命令
- shopncexcel导出
- Log4j配置学习文档之三 参考
- 用js实现上传图片的效果