题意:有两堆石子,两人轮流取,每次可以取一堆中的任意个,或两堆中取相同多个。谁先取光所有堆谁赢。问先手能否获胜。

分析:威佐夫博弈,如果是奇异态则先手输,否则先手赢。直接套用公式判断是否为奇异态,设第一堆有a个,第二堆有b个,二者的差为c个。

奇异态近似符合公式b/a=a/c。即近似符合黄金分割。严格符合公式a=floor(c/黄金分割数)。黄金分割数=(sqrt(5)-1)/2。

#include <cstdio>
#include <cmath>
#include <utility>
using namespace std; int main()
{
int a, b;
while (~scanf("%d%d", &a, &b))
{
if (a > b)
swap(a, b);
int difference = b - a;
double multiplier = ( + sqrt()) / ;
int answer = ;
if (a == floor(difference * multiplier))
answer = ;
printf("%d\n", answer);
}
return ;
}

poj1067的更多相关文章

  1. 【poj1067】 取石子游戏

    http://poj.org/problem?id=1067 (题目链接) 题意 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走 ...

  2. 【POJ1067】取石子游戏 (威佐夫博弈)

    [题目] Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的 ...

  3. [POJ1082&POJ2348&POJ1067&POJ2505&POJ1960]简单博弈题总结

    鉴于时间紧张...虽然知道博弈是个大课题但是花一个上午时间已经极限了... 希望省选过后再回过头来好好总结一遍吧. 接下来为了看着顺眼一点...还是按照难度顺序吧   POJ1082 一道最简单的博弈 ...

  4. 四种基本组合博弈POJ1067/HDU1846

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 43466   Accepted: 14760 Descripti ...

  5. 北大poj- 1067

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40058   Accepted: 13520 Descripti ...

  6. POJ1067 取石子游戏

    Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  7. 暑假集训(4)第六弹——— 组合(poj1067)

    题意概括:上一次,你成功甩掉了fff机械兵.不过,你们也浪费了相当多的时间.fff团已经将你们团团包围,并且逐步 逼近你们的所在地.面对如此危机,你不由得悲观地想:难道这acm之路就要从此中断?虽然走 ...

  8. poj1067威佐夫博奕

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31490   Accepted: 10374 Descripti ...

  9. POJ1067 取石子游戏 威佐夫博弈 博弈论

    http://poj.org/problem?id=1067 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可 ...

随机推荐

  1. 记一个鼠标略过时候的css动画

    .circle{ width: 15px; height: 15px; background: rgba(0,0,0,0.7); border-radius: 50%; display: table- ...

  2. 【学习笔记】BEST定理

    害怕忘记简单写一点: 无向图的生成树计数:https://www.cnblogs.com/zj75211/p/8039443.html   (*ZJ学长 ORZ ) 有向图的欧拉回路计数:https: ...

  3. 【bzoj2741】[FOTILE模拟赛] L

    Portal --> bzoj2741 Solution 突然沉迷分块不能自拔 考虑用分块+可持久化trie来解决这个问题 对于每一块的块头\(L\),预处理\([L,i]\)区间内的所有子区间 ...

  4. Python word_cloud 样例 标签云系列(三)

    转载地址:https://zhuanlan.zhihu.com/p/20436642word_cloud/examples at master · amueller/word_cloud · GitH ...

  5. vim文件头部注释配置

    http://note.youdao.com/noteshare?id=26dff538fabf3e8a0c4e85815256d5bb

  6. Python【面向对象编程】

    #1.python中,类名首字母都大写#2.在python3中,经典类和新式类没有任何区别#3.在python2中,经典类和新式类的区别主要体现在多继承上,经典类是深度优先,新式类是广度优先#4.在p ...

  7. python字符中加入变量

    有时候,我们需要在字符串中加入相应的变量,以下提供了几种字符串加入变量的方法: 1.+ 连字符 name = 'zhangsan' print('my name is '+name) #结果为 my  ...

  8. Linux之find查找命令

    Linux中find常见用法示例 [root@localhost ~]# find  [PATH]  [option]  [action] 参数: 1. 与时间有关的参数:共有-atime.-ctim ...

  9. ZeroMQ API(四) 套接字

    1.创建一个套接字 1.1 zmq_socket(3) 1.1.1 名称 zmq_socket - 创建ZMQ套接字 1.1.2 概要 void * zmq_socket(void * context ...

  10. hbase系列之:独立模式部署hbase

    一.概述 在上一篇博文中,我简要介绍了hbase的部分基础概念,如果想初步了解hbase的理论,可以参看上一篇博文 hbase系列之:初识hbase .本博文主要介绍独立模式下部署hbase及hbas ...