## 博弈论入门

博弈论入门

一、博弈论
博弈就是指游戏中的一种选择策略的研究,人们遵循一定规则的活动, 进行活动的人的目的是让自己“赢”。 要想赢得比赛 ,不但要考虑自己的策略, 还要考虑其他人的选择。 我们可以用搜索算法,按照题目条件筛选,列举出所有可能的情况,寻找胜利的策略;或是找寻规律后,简化算法,直接得到答案。

二、巴什博奕(Bash Game)
只有一堆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)的倍数,就能最后获胜。
但是如果一开始 n = (m+1)*r (r为任意自然数),先取者肯定会输,因为他第一次取不了m+1个,相反的,后取者可以保证之后每次给对手留下m+1的倍数,获得胜利。

三、例题
‎亚当和夏娃参加了今年的ACM国际大学编程比赛。昨晚,他们玩日历游戏,以庆祝这场比赛。本次比赛的日期为1900年1月1日至2001年11月4日,即比赛日。游戏从此间隔随机选择日期开始。然后,玩家,亚当和夏娃,轮流移动与亚当移动第一:亚当,夏娃,亚当,夏娃等。移动只有一个规则,它很简单:从当前日期开始,轮到他/她的玩家可以移动到下一个日历日期或下个月的同一天。当下个月没有同一天时,玩家只移动到下一个日历日期。例如,从 1924 年 12 月 19 日起,您可以移动到 1924 年 12 月 20 日、下一个日历日期或 1925 年 1 月 19 日,即下个月的同一天。但是,从 2001 年 1 月 31 日起,您只能移动到 2001 年 2 月 1 日,因为 2001 年 2 月 31 日无效。‎
‎当玩家正好到达 2001 年 11 月 4 日的日期时,他/她将赢得‎
‎比赛。如果玩家在 2001 年 11 月 4 日之后移动到日期,他/她将失去游戏。‎
‎编写一个程序,决定在初始日期,第一推动者 Adam 是否有获胜‎
‎策略。‎
‎对于这个游戏,你需要确定闰年,其中2月有29‎
‎天。在公历中,闰年发生在四年完全可分割的年份。因此,1993年、1994年和1995年不是闰年,而1992年和1996年是闰年。此外,以 00 结尾的年数只有可除以 400 年才能闰年。因此,1700年、1800年、1900年、2100年和2200年不是闰年,而1600年、2000年和2400年不是闰年。

Input
‎输入由 T 测试案例组成。测试案例 (T) 的数量在输入的第一行中给出。每个测试案例都以一行方式书写,与初始日期相对应。一行中的三个整数,YY MM DD,表示YY年当月DD-第1天。请记住,初始日期是从 1900 年 1 月 1 日至 2001 年 11 月 4 日期间随机选择的。‎

Output
‎为每个测试案例打印一行。对于亚当是否对夏娃有获胜策略的问题, 这条线应该包含 “是” 或 “否” 的答案。由于我们有T测试案例,您的程序应完全输出T行的"是"或"否"。‎

Sample Input
3
2001 11 3
2001 11 2
2001 10 3

Sample Output
YES
NO
NO

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值