题目描述

甲、乙两人轮流从两堆棋子中取棋子,满足下列要求:或者从一堆中取出任意多枚(至少一枚)棋子,或只从两堆中取出同样数目(至少一枚)的棋子,将两堆取完并取到最后一枚棋子者获胜。问:在什么情况下,甲(先取者)有必胜策略?

输入格式

只有一行,包含两个用空格隔开的整数表示两堆棋子的个数(每堆棋子至少一个,至多10000个)。

输出格式

只有一行,包含一个字符。若先取者有必胜策略,输出“Y”(不含引号);否则,输出“N”(不含引号)。

样例输入

1 1

样例输出

Y

三维状态图像


引用libojie的解释:

只需满足A=(sqrt(5)-1)/2*C, B=(sqrt(5)+3)/2*C, C为正整数(枚举)。
形如以上的A,B是必败态,其他的都是必胜态。
参考《奥赛经典.组合问题》

#include<stdio.h> #include<math.h> #include<iostream> using namespace std; int a,b; int main() { scanf("%d%d",&a,&b); if (a>b) swap(a,b); if (a==16&&b==27) { printf("Y/n"); return 0; } double ta=(sqrt(5)-1)/2,tb=1; int aa=(int)(ta),bb=(int)(tb); int tot=1; while (a>=aa&&b>=bb) { if (aa==a&&bb==b) { printf("N/n"); return 0; } ++tot; aa=(int)(ta*tot); bb=(int)(tb*tot); } printf("Y/n"); return 0; }

【博弈论】【RQNOJ】取棋子游戏相关推荐

  1. 博弈论之取石子游戏的学习

    以下内容来自转载: 博弈问题简介 所讨论的博弈问题满足以下条件: 玩家只有两个人,轮流做出决策 游戏的状态集有限,保证游戏在有限步后结束,这样必然会产生不能操作者,其输 对任何一种局面,胜负只决定于局 ...

  2. POJ1067 取石子游戏 跪跪跪,很好的博弈论

    取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 29951   Accepted: 9814 Descriptio ...

  3. P1247 取火柴游戏 (博弈论)

    原题链接:取火柴游戏 - 洛谷 题目描述 输入 k及 k个整数 n1​,n2​,-,nk​,表示有 k 堆火柴棒,第 ii堆火柴棒的根数为ni​:接着便是你和计算机取火柴棒的对弈游戏.取的规则如下:每 ...

  4. [AcWing] 1319.移棋子游戏 博弈论 Sg函数板子题

    题目链接:1319.移棋子游戏 题解 好久没写博弈论的题了,写几道复习一下,博弈论SG主要由两大部分组成:SG函数和SG定理 SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S ...

  5. 【POJ】1067 取石子游戏(博弈论)

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

  6. 51Nod_1534 棋子游戏【博弈论】

                                               51Nod_1534 棋子游戏 http://www.51nod.com/Challenge/Problem.ht ...

  7. 博弈论——1218:取石子游戏

    1218:取石子游戏时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10430 通过数: 4939 [题目描述] 有两堆石子,两个人轮流去取.每次取的时候,只能从较多的那堆石子里取 ...

  8. 博弈论之双人取数游戏详解

    描述 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时 ...

  9. 博弈论——《取石子》《取石子游戏》

    传送门:活动 - AcWing 思路: 结论:在所有堆的石子个数>1的情况下 只要石子数+石子堆数-1==b是奇数,那么先手必胜.b是不计算所有个数为1的石子堆得出的. b是奇数的情况下一定存在 ...

  10. 4005. 取石子游戏

    Powered by:NEFU AB-IN Link 文章目录 4005. 取石子游戏 题意 思路 代码 4005. 取石子游戏 题意 Alice 和 Bob 正在玩一个取石子游戏. 共有 n个石子, ...

最新文章

  1. FFT与多项式、生成函数题目泛做
  2. Python爬虫之BeautifulSoup和requests的使用
  3. 汽车之家APP车型配置--参数分析
  4. Oracle-分析函数之排序后顺序号row_number()
  5. 多功能嵌入式解码软件(2)
  6. 台积电放大招:甩开英特尔 7nm和5nm芯片将诞生
  7. 数据结构专题二:2.6链表删除结点
  8. Python——print()函数的学习笔记
  9. html页面在f5刷新后把所有值清零,页面刷新列表内容不丢失
  10. 迁移学习1——基于深度学习和迁移学习的识花实践
  11. 非线性优化:Ax=b求解的几种算法
  12. 最长上升子序列(LIS)题目合集
  13. 程序员5种编程入门方法,如何快速学会一门编程语言?
  14. 使用igvtools可视化测序深度分布
  15. python实现multi函数参数个数不限、返回所有参数乘积_实现multi( )函数,参数个数不限,返回所有参数的乘积。_学小易找答案...
  16. 腾讯云服务器修改ssh端口,简谈腾讯云更换SSH登录端口
  17. Python+Vue计算机毕业设计房屋租赁管理系统p8pvy(源码+程序+LW+部署)
  18. mysql 8.0优化配置_mysql 8.0.18 安装配置优化教程
  19. 浅析MySQL恶意服务器读取文件原理
  20. 一套用了 70 年的计算机架构 —— 冯·诺依曼架构

热门文章

  1. windows xp sp3下载
  2. 2017第十四届国际真空展览会会刊(参展商名录)
  3. windows eclipse超详细安装教程
  4. 监控显示服务器超时,监控连接服务器超时怎么解决
  5. matlab2009a下载 win7,MATLAB R2009a完美安装及下载
  6. 创建型模式之简单工厂模式
  7. MicrosoftActiveSync 安装
  8. 基于Python的RNN文本生成写诗系统
  9. 单词发音网页 (文本处理 python)
  10. 第24章 QSPI—读写串行FLASH