Brave Game

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

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
巴什博弈:
一个人拿1~m个,那谁面对m+1的局势的的时候则必败。假设n=k*(m+1)+s,(k为任意,s<m+1),那我(先手)先把那个s个拿掉,然后让另一个人拿,从现在开始,只要我每次拿的个数与前面一个人拿的个数和等于m+1,这样后拿的必定面对必败局势,即到最后另一个人拿完后肯定是剩t(t<m)个给我,那就是我赢。
比如23 2,23=(3×7)+2;那我第一次拿掉2,然后无论每次另外一个人拿多少我都可以使得这轮总共拿3,然后他必定会面对3这个局势,然后我就必胜,那什么时候必败呢,很明显如果我面对的是(m+1)的倍数的局势就必败。即我们只需要判断n%(m+1)是否等于0即可知道谁胜谁负。
#include<iostream>
using namespace std;
int main()
{int n,m,t;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);if(m>=n){printf("first\n");continue;}else if(n%(m+1)==0)printf("second\n");elseprintf("first\n");}return 0;
}

转载于:https://www.cnblogs.com/Su-Blog/archive/2012/08/24/2654345.html

HDU 1856 Brave Game(巴什博奕)相关推荐

  1. Brave Game ——巴什博奕

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

  2. HDU 1846 Brave Game 【巴什博奕】

    Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. HDU 2149-Public Sale(巴什博奕)

    Public Sale Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit  ...

  4. D - 邂逅明下 HDU - 2897(有点水平的巴什博奕)

    当日遇到月,于是有了明.当我遇到了你,便成了侣. 那天,日月相会,我见到了你.而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事.(以上是废话) 小t和所有世俗的人们一样,期待那百年难遇的日食. ...

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

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

  6. 力扣(LeetCode)292. Nim游戏 巴什博奕

    你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断你 ...

  7. 博弈论(巴什博奕,威佐夫博弈,尼姆博弈)

    巴什博奕(Bash Game): 只有一堆n个物品,两个人轮流从中取物,规定每次最少取一个,最多取m个,最后取光者为胜 举一个最简单的例子就是,当n=m+1时,此时不管先手取多少,后手都能把剩下的取完 ...

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

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

  9. 博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)

    一.  巴什博奕(Bash Game): A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30.这应该是最古老的关于巴什博奕的游戏了吧. 其实如果知道原理,这游戏一点运气成分都没有,只和先手 ...

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

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

最新文章

  1. flask 检测post是否为空_用Flask和Vue制作一个单页应用(五)
  2. jQuery 选择器汇总-思维导图-选择器
  3. python的userlist_Python中UserDict、UserString、UserList有用吗?
  4. ASP.NET Core 6.0对热重载的支持
  5. [Swust OJ 85]--单向公路(BFS)
  6. python2.7输出语句_python2.7入门---模块(Module)
  7. LCFinder 0.3.0 Beta 发布,图像标注与目标检测工具
  8. php 盾灵新闻系统,代码审计 | 记一次盾灵系统审计从后台到Getshell
  9. 华为P30系列新配色官宣:9月6日IFA2019上见!
  10. ubuntu下编译安卓7.0源码
  11. centos directory server
  12. 记录es几个问题,增删改查,索引创建
  13. AcrelEMS-IDC综合能效管理系统 XXX数据中心案例分享
  14. 阿里巴巴java开发规约插件详解
  15. 关于微信小程序授权登陆之后需要在个人信息页展示信息,如微信头像,昵称这件事
  16. 树上随机游走的期望距离
  17. 会议OA(会议排座送审)
  18. poi-tl填充动态word表格数据
  19. Java编程入门与应用 P104—例4-12(学生管理系统——密码的重复验证)
  20. 关闭电脑弹窗广告的几种方法

热门文章

  1. 网络技巧:WiFi越用越慢,到底是什么原因,看完你就明白了!
  2. Wi-Fi 6值得升级吗?从Wi-Fi 5升级到Wi-Fi 6需要什么?
  3. Java技术:实现pdf和Excel的生成及数据动态插入、导出
  4. sap实施和开发哪个前景_2021年了!还不知道 SAP顾问的职业前景?
  5. 计算机电子琴弹奏怎么打开,怎么打开电脑键盘电子琴软件
  6. linux切换任务命令,Linux top详解之交互命令、命令行选项
  7. python 爬虫-beautifulsoup4
  8. sketch浮动布局_使用智能布局和调整大小在Sketch中创建更好的可重用符号
  9. 从零开始发布自己的NPM包
  10. 计算机协会丨让技能得到提升,让思维受到启迪