http://acm.hdu.edu.cn/showproblem.php?pid=1846

Brave Game

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 13658    Accepted Submission(s): 9249

Problem Description
十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫《勇敢者的游戏》(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻。
今天,大家选择上机考试,就是一种勇敢(brave)的选择;这个短学期,我们讲的是博弈(game)专题;所以,大家现在玩的也是“勇敢者的游戏”,这也是我命名这个题目的原因。
当然,除了“勇敢”,我还希望看到“诚信”,无论考试成绩如何,希望看到的都是一个真实的结果,我也相信大家一定能做到的~

各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的:
1、  本游戏是一个二人游戏;
2、  有一堆石子一共有n个;
3、  两人轮流进行;
4、  每走一步可以取走1…m个石子;
5、  最先取光石子的一方为胜;

如果游戏的双方使用的都是最优策略,请输出哪个人能赢。

Input
输入数据首先包含一个正整数C(C<=100),表示有C组测试数据。
每组测试数据占一行,包含两个整数n和m(1<=n,m<=1000),n和m的含义见题目描述。
Output
如果先走的人能赢,请输出“first”,否则请输出“second”,每个实例的输出占一行。
Sample Input
2 23 2 4 3
Sample Output
first second
Author
lcy
Source
ACM Short Term Exam_2007/12/13
Recommend
lcy   |   We have carefully selected several similar problems for you:  1847 1850 1848 2147 1849 
思路:每个人可以去1到m个,则可以知道如果n==m+1时便已知是胜局,对于m+1无论你取走多少,我都可一次拿走剩下的所有,故可以获胜;
又因为对于任意的n都有:n = K * (m + 1) + x 所以,如果x不为零,则先手即可取走x来维持m+1局面,获取胜利。
#include <iostream>
using namespace std;int main(){int n, t, m;cin >> t;while(t--){cin >> n >> m;if(n % (m + 1) >= 1){cout << "first" << endl;}else{cout << "second" << endl;}}return 0;
}

  

转载于:https://www.cnblogs.com/zhumengdexiaobai/p/8473668.html

17-取石子-hdu1846(巴什博奕)相关推荐

  1. 博弈论一 [ 巴什博奕 ]

    首先,这基本是关于ACM博弈论得一系列文章吧. 今天先讲一个最简单得博弈--巴什博奕. 其游戏规则是这样的: 有一堆n个石子,两个足够聪明的人玩,每个人可以去1-m个石子,取到最后一个石子为胜. 比如 ...

  2. NYOJ135 取石子(二)尼姆博弈+巴什博奕

    题目链接:NYOJ135 尼姆博弈和巴什博奕的结合 题目思路:每一堆的必胜状态是 m%(n+1) 然后对每一堆的最优解进行异或,如果是非平衡状态则先手必胜,否则先手必败. /* 2017年8月23日2 ...

  3. 巴什博奕----取完者负的分析

    关于巴什博奕: 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 网上有很多对先取完者胜的分析,先取完者负的分析很少,我通过网上流传的公式:(n-1)%( ...

  4. 博弈论基础知识: 巴什博奕+斐波那契博弈+威佐夫博奕+尼姆博弈(及Staircase)

    博弈论基础知识: 巴什博奕+斐波那契博弈+威佐夫博奕+尼姆博弈(及Staircase) 转载自: http://tieba.baidu.com/p/1474319443 http://blog.sin ...

  5. 四种基础博弈 巴什博奕+威佐夫博奕+斐波那契博弈+K倍博弈

    博弈论(Game Theory) 博弈论是指研究多个个体或团队之间在特定条件制约下的对局中利用相关方的策略,而实施对应策略的学科.有时也称为对策论,或者赛局理论,是研究具有斗争或竞争性质现象的理论和方 ...

  6. nim博奕和巴什博奕

    目录 题目背景 解法背景 nim博奕: 巴什博奕: 蛋糕分配问题解法 题目背景 有a块草莓蛋糕,有b块芝士蛋糕,两人轮流拿蛋糕,每次不管是谁只能选择在两种蛋糕中拿一种,拿的数量在1~m中随意,谁先拿完 ...

  7. Brave Game ——巴什博奕

    题目链接:点击打开链接 此题是巴什博奕的一个简单应用,先来看看巴什博奕: 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于 ...

  8. 巴什博奕(Bash Game)入门

    巴什博奕(Bash Game)入门 巴什博奕(Bash Game): 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜 结论:若(m+1) | n,则先手必 ...

  9. 巴什博奕(Bash Game)与威佐夫博弈(Wythoff game)

    绪论 博弈论又被称为对策论,既是现代数学的一个新分支,也是运筹学的一个重要学科. 博弈论主要研究公式化了的激励结构间的相互作用,是研究具有斗争或竞争性质现象的数学理论和方法.博弈论考虑游戏中的个体的预 ...

最新文章

  1. 【 Linux 】安装、配置并用 Vim 编写第一个 C 程序
  2. uniapp定义全局变量方法
  3. 异常与锁的释放(synchronized )
  4. python爬虫安装错误与解决方式
  5. 从BMW Vision iNEXT 看宝马如何进军自动驾驶
  6. python分布爬虫_13天搞定Python分布爬虫(第七天)(Scrapy)
  7. 哨兵系列卫星_空客“哥白尼哨兵-1C”卫星雷达天线首次展开双翼
  8. TeeChart Pro FOR delphi 年底稳定版
  9. python判断一个数是否为水仙花数_Python判断一个三位数是否为水仙花数的示例
  10. 从外网到域控(vulnstack靶机实战一)
  11. Hexo | yilia主题美化
  12. 第22章:针对Cloze Tests基于Attention机制的的MRC领域开山之作:Teaching Machines to Read and Comprehend架构设计及完整源码实现
  13. exp和expdp的filesize参数的使用--导出多个文件
  14. Markdown 基础入门
  15. 【简书如何创建专题?】
  16. 数据中心编码命名标志标签的建议规范
  17. 房贷利率下调 现在是买房的时机吗?
  18. 教你搭建局域网影吧vod点播系统
  19. OpenBlas 安装
  20. try catch 对性能影响

热门文章

  1. 4.2 算法之数论 1486 A Funny Game python
  2. 1.3 编程基础之算术表达式与顺序执行 10 计算并联电阻的阻值
  3. RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
  4. STM32H743+CubeMX-移植ThreadX
  5. latex textbf没有用_使用LaTeX写作业
  6. python下载邮件附件_Python - 从电子邮件附件下载excel文件然后解析它
  7. Python笔记-Json转DataFrame(基金主题Json数据)
  8. Python笔记-Flask结合SQLAlchemy查询MySQL数据库
  9. C++设计模式-享元模式
  10. delay在java中有什么用_java中DelayQueue的使用