2021-1-19

巴什博弈

2021-1-19
所以,假如有一堆数量为n的物品,一次只能取m个(m<n),a先取,谁会赢
“cn%(m+1)==0 //后者赢,否则前者赢。“`

也看看今天的题目叭问题

D: 刷题的兄弟俩
描述
众所周知,lbg和gbl是一对兄弟,他们时常位居刷题榜前列,为了赢得学妹的芳心他们决定进行一场刷题比赛,他们找来了1000000000000000道题,比赛的规则是
1、一道题只能归一个人所有(这题被gbl过了,lbg就接着往后刷);
2、从第一题开始往后刷;
3、谁先刷完最后一题谁就赢了;
4、只有一台机子,每次只能有一个人上机;
5、一次上机刷超过 m (1<=m<=100) 道题会被系统判定为舞弊;因为lbg和gbl都很聪明,所以每次上机都不会舞弊,而且所有的题他们都会做。这时比赛已经进行到了晚上就要断网了,还剩 n (0<n<1000000)道题。假设lbg先上机,请问谁能获得小学妹的芳心br> 格式
输入格式输入数据首先包含一个正整数T,表示包含T组测试用例,然后是T行数据,每行包含两个正整数n,m,n和m的含义参见上面提到的规则。
输出格式对于每组测试数据,如果lbg能获得小学妹的芳心,请输出字符串”lbg”, 如果gbl能获得小学妹的芳心,请输出字符串”gbl”,每个实例的输出占一行。
样例
样例输入 Copy
2
8 10
11 10
样例输出 Copy
lbg
gbl
这个是一个很明显的博弈问题,还剩n道题,一次只能交m道题目;

也要注意题目的要求是字符串输出。

问题 E: 打牌的兄弟俩
描述
自从上次gbl刷题输给lbg之后gbl就一直不服气,gbl想着laozi刷题刷不过你,laozi打牌还打不过你是怒气冲冲的冲到小学妹的宿舍把lbg叫出来,“我不服,咱俩再来比一场,就比打牌,小学妹你来做裁判”作为软件工程的学生,lbg打牌的时候可没忘记专业,于是lbg制定了如下规则:
1、总共n张牌
2、双方轮流抓牌
3、每人每次抓牌的个数只能是2的幂次(如:1,2,4,8,16…)
4、抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;众所周知,lbg和gbl都是足够聪明,并且每次都是lbg先抓牌,请问谁能赢呢式输入格式输入数据包含多个测试用例,每个测试用例占一行,包含一个整数n(1<=n<=1000000)。
输出格式如果lbg能赢的话,请输出“lbg”,否则请输出“gbl”,每个实例的输出占一行。
样例样例输入 Copy
1
3
样例输出 Copy
lbg
gbl
这个题目提到的是2的整数次幂抽取,而不是m个抽取了,因此我们要给对手留下牌数为3的倍数时(2的幂次方2,4,8,16…),我们必赢.因为当我们给对手留下三张牌时,对手只能拿一张或者两张,剩下的我们拿走,我们必赢;第二是因为对手抓牌还剩3n张牌时,对手不管取多少,牌的数量还剩3m+1或者3m+2张牌。我们可以再次构造3的倍数,给对手留下3k的牌数,我们也是必赢的。

你可以每天收获的少,但不能不收获。
有写的不好的地方还请前辈们指正。

来源:lierzp.

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月16日
下一篇 2021年1月16日

相关推荐