题目链接:点击打开链接

此题是巴什博奕的一个简单应用,先来看看巴什博奕:

只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。

显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。

Brave Game

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

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

代码解决:

package cn.hncu.acm;import java.util.Scanner;
/** 巴什博奕:*/
public class P1846 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int c=sc.nextInt();while(c-->0){int n=sc.nextInt();int m=sc.nextInt();if(n%(m+1)==0){System.out.println("second");}else{System.out.println("first");}}}
}

Brave Game ——巴什博奕相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. .NET读写Excel工具Spire.Xls使用(1)入门介绍
  2. java gson使用_Java 中 Gson的使用
  3. 聚类 高维聚类 聚类评估标准 EM模型聚类
  4. hiveSql常见错误记录
  5. 笨方法“学习python笔记之urlopen
  6. PostgreSQL相关知识概念
  7. 数十名工程师作战 5 天,阿里达摩院连夜研发智能疫情机器人
  8. linux添加计划任务(转载)
  9. 大数据导论章节答案_大数据概论智慧树章节答案
  10. JVisualVM监控
  11. 一人行,必有我师焉 2020.11.22日记
  12. Navicat 压缩包免费下载
  13. 动静兼济总相宜——Java与.NET之外的语言视界
  14. Java学习软件安装详解
  15. java比较器原理理解
  16. 目前最好用的洞洞板布线软件LochMaster-ver.4.0
  17. 使用RedisTemplate 设置key有前缀 \xAC\xED\x00\x05t\x00\x04 value有前缀 \xAC\xED\x00\x05t\x00\x08 问题解决
  18. 安装pointgray灰度相机,mindvison,pointgray偏振相机的ubuntu驱动
  19. MIPCMS-005高仿JustNews自适应博客资讯模版
  20. GPU利用率低的解决办法

热门文章

  1. 清华“差生”10年奋斗经历:只写事业,不写女人
  2. 2019年的反弹牛市总结
  3. 【Appium】测试时遇到手机内嵌H5页面的切换问题
  4. jmp指令(0903)
  5. DNS污染——domain name的解析被劫持了返回无效的ip
  6. idc数据中心托管服务器需要注意的事项有哪些
  7. 教程03-微擎的数据库数据字典
  8. 恶梦护士 asa_创造小恶梦
  9. 计算机网络与多媒体试卷,《计算机网络与多媒体技术》试卷
  10. 4G无线模块 电力通信模块