nyojb 2359 巴什博弈变形
http://acm.nyist.me/JudgeOnline/problem.php?id=2359
2359: 巴什博弈?
时间限制: 1 Sec 内存限制: 30 MB
提交: 237 解决: 43
[提交][状态][讨论版]
题目描述
有n个石子,有两人轮流从中取石子,最少a个最多b个,谁没得取(即当轮到他取是已经没有石子可以取了,也就是说此时石子数量小于a)谁赢,现在,LLM先取,问你LLM能赢吗
输入
每个测试样例少于100000组测试数据
每组测试样例第一行三个整数n,a,b
1<=a<=b,n<=100000000
输出
如果LLM能赢,输出YES,否则输出NO
样例输入
1 1 1
2 1 2
样例输出
NO
YES 几乎从未做过博弈的题目,只是上学期写过两道模板题,这种题目就是找到必败态/必胜态,这道题目要求只要轮到你取且石子数<a那么你就是胜利者,那么到最后遇到什么数量的石子必然会输呢,
答案是[a,2*a),因为无论怎样取剩余的石子一定小于a(最小是0),那么对手必然会胜利,所以这是一个必败态,令x(-[a,2*a),那么x+(a+b)*k也是必败态,无论你取走多少只要对手取走a+b-i,
最后面临x的人必然是你,所以必败,那我们就可以根据这个范围来讨论了,
当a<=n%(a+b)<2*a时候必败;
当n%(a+b)<a的时候,先手只要取走一个b,那么对手剩下的就是(a+b)*(k-1)+(x+a),由于x<a所以a<=x+a<2*a转化为了必败态。
当a+b>n%(a+b)>2*a的时候,因为n%(a+b)-a<b,我们可以取走n%(a+b)-a个给对手剩下 a+(a+b)*k,又是必败态。
巧妙地数学,虽然每次数学题都是一脸懵逼- -
#include<bits/stdc++.h>
using namespace std;
#define LL long long
int main()
{
int n,i,j,a,b;
while(scanf("%d%d%d",&n,&a,&b)==){
int t=n%(a+b);
if(t<a) puts("YES");
else if(t<*a) puts("NO");
else puts("YES");
}
return ;
}
nyojb 2359 巴什博弈变形的更多相关文章
- hdu1517A Multiplication Game(巴什博弈变形)
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- hdu 2897 巴什博弈变形 ***
大意:一堆石子共有n个,A,B两人轮流从中取,每次取的石子数必须在[p,q]区间内,若剩下的石子数少于p个,当前取者必须全部取完.最后取石子的人输.给出n,p,q,问先取者是否有必胜策略? Bash博 ...
- (step8.2.7)hdu 1517(A Multiplication Game——巴什博弈变形)
题目大意:输入一个整数n.谁先报的数大于n,谁就输了.(初始值p == 1 , 后一个人报的数必须在前一个人报的数的基础上乘上(2 ~ 9)之间的任意一个数) 解题思路:巴什博奕的变形 1) 解题思 ...
- POJ 2368 Buttons(巴什博弈变形)
题目链接 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ...
- HDU 2147kiki's game(巴什博弈变形)
题目链接 思路如下 P : 必胜点,那个人先走到 含P的点,那个这个人一定会输, N:必败点,谁走到这个点谁输! 在这一个题中: 某个点是P还是 N,之与 ⬅️左边第一个点.⬇️下边第一个点.↙️左下 ...
- NYOJ-2359: 巴什博弈?
2359: 巴什博弈? 时间限制: 1 Sec 内存限制: 30 MB 提交: 263 解决: 55 [提交][状态][讨论版] 题目描述 有n个石子,有两人轮流从中取石子,最少a个最多b个,谁没 ...
- 简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)
博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时 ...
- HDU 4764 Stone (巴什博弈)
题意 Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败,Tang先取,问谁是赢家. 思路 比赛的时候想了不久,还WA了一次= =--后来看题解才发现是经典的巴什博 ...
- 邂逅明下(巴什博弈+hdu2897)
H - 邂逅明下 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Sta ...
随机推荐
- 人工智能-baidu-aip语音识别(语音转文字)
做这个之前,需要在电脑上安装FFmpeg工具,将要转的语音格式转为PCM格式.FFmpeg不需要安装,下载后,打开bin文件夹,然后将路径放在系统环境变量里.记住,要关闭所有打开的Pycharm,然后 ...
- python的语法规范及for和while
1.缩进: 空白在Python中是重要的.事实上行首的空白是重要的.它称为缩进.在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组.这意味着同一层次的语句必须有相同的缩进 ...
- Scilab 的画图函数(2)
一幅图是由很多元素组成的. 包含图标题.x轴标签.y轴标签,刻度线等.图1给出了各个元素的一个示意图. 这些全部的元素在scilab中都是能够用代码控制的. 标题 上个笔记上介绍了用xtitle()函 ...
- go语言之并发编程同步一
前面介绍了采用go语法的并行操作以及channel.既然是并行操作,那么就涉及到数据原子性以及同步的问题.所以在Go里面也需要采用同步的机制. 互斥锁: 由标准库代码包sync中的Mutex结构体类型 ...
- SUBMIT RM07DOCS【MB51】 获取返回清单,抓取标准报表数据
*&---------------------------------------------------------------------* *& Report YT_SUBMIT ...
- C# 函数4
//数据库 public class GF_DA { /// <summary> /// 执行SQL语句 sConnStr 连接字符串,sq ...
- Nginx -HTTP和反向代理服务器简单配置
from:http://blog.sina.com.cn/s/blog_6b64b6a701011feh.html Nginx官方测试能够支持5万并发连接,实际生产环境中可支持2-4万并发连接数. 在 ...
- Android Http Get Post
public class MyHttpUrlCon { public static String settionId = ""; ;// public ReturnData doG ...
- Bootstrap入门教程
资料来源: http://www.cnblogs.com/ventlam/archive/2012/05/28/2520703.html 1.全局样式:Bootstrap要求html5的文件类型,所以 ...
- iOS 当公司有人向你提问,你该如何应对?
今天 因为iOS 开发的内部版本号耿耿于怀好久,释然后让我有了一个新想法:从前,能让我兴奋的点是解决一个有一个拗脑筋的问题,见大部分博客便知,都是技术方面的积累. 那么从今天起我决定让自己有个新起点, ...