【普及组模拟赛】游戏
2018-01-26 14:21
120 查看
题目描述
Atlantis Island 沉没以前,传说中的猫老大和 King 是好朋友……King 很喜欢赌博,这次 King和老朋友猫老大多年不见, 于是便邀请猫老大来玩一个游戏,猫老大应邀参加了。 King 拿出了 n 块黄金(0 < n<10^1000002), 猫老大暗自想:咋来这么多钱的„„,现在 King 和猫老大轮流从黄金中拿走一些,每人每次拿走的块数是 2 的次方(例如 1,2,4,8,16……)谁能拿走最后一个黄金,谁就获胜。 现在 King 让猫老大先拿,双方都使用最好的策略来玩的话,谁能取得胜利呢?现在请你来帮助猫老大,他能胜利吗?不仅如此, King 现在提出要和猫老大玩三局,猫老大想知道每局他是否能获胜,并且,你还要告诉猫老大,如果必胜的话,他第一步最少拿走的金块数量。
输入
三行每行一个数 n(0 < n<10^1000002)。
输出
对于每局, 如果 King 必胜则输出一行“ King will win.”; 否则第一行输出“ MaoLaoDa willwin.”, 第二行输出他第一次拿的最小数量。
样例输入
8
4
2
样例输出
MaoLaoDa will win.
2
MaoLaoDa will win.
1
MaoLaoDa will win.
2
数据范围限制
【样例输入 2】
3
8
2
【样例输出 2】
King will win.
MaoLaoDa will win.
2
MaoLaoDa will win.
2
【数据范围】
0 < n<10^1000002
分析
通过计算可以发现:
当猫老大第一次拿完后,如果所剩的数为3的倍数,则猫老大胜利
同理,如一开始的数为3的倍数,则猫老大失败。
程序:
Atlantis Island 沉没以前,传说中的猫老大和 King 是好朋友……King 很喜欢赌博,这次 King和老朋友猫老大多年不见, 于是便邀请猫老大来玩一个游戏,猫老大应邀参加了。 King 拿出了 n 块黄金(0 < n<10^1000002), 猫老大暗自想:咋来这么多钱的„„,现在 King 和猫老大轮流从黄金中拿走一些,每人每次拿走的块数是 2 的次方(例如 1,2,4,8,16……)谁能拿走最后一个黄金,谁就获胜。 现在 King 让猫老大先拿,双方都使用最好的策略来玩的话,谁能取得胜利呢?现在请你来帮助猫老大,他能胜利吗?不仅如此, King 现在提出要和猫老大玩三局,猫老大想知道每局他是否能获胜,并且,你还要告诉猫老大,如果必胜的话,他第一步最少拿走的金块数量。
输入
三行每行一个数 n(0 < n<10^1000002)。
输出
对于每局, 如果 King 必胜则输出一行“ King will win.”; 否则第一行输出“ MaoLaoDa willwin.”, 第二行输出他第一次拿的最小数量。
样例输入
8
4
2
样例输出
MaoLaoDa will win.
2
MaoLaoDa will win.
1
MaoLaoDa will win.
2
数据范围限制
【样例输入 2】
3
8
2
【样例输出 2】
King will win.
MaoLaoDa will win.
2
MaoLaoDa will win.
2
【数据范围】
0 < n<10^1000002
分析
通过计算可以发现:
当猫老大第一次拿完后,如果所剩的数为3的倍数,则猫老大胜利
同理,如一开始的数为3的倍数,则猫老大失败。
程序:
var s:ansistring; tj,i,j:longint; begin assign(input,'atlantis.in'); reset(input); assign(output,'atlantis.out'); rewrite(output); for i:=1 to 3 do begin tj:=0; readln(s); for j:=1 to length(s) do tj:=tj+(ord(s[j])-ord('0')); if tj mod 3=0 then writeln('King will win.') else begin writeln('MaoLaoDa will win.'); writeln(tj mod 3); end; end; close(input); close(output); end.
相关文章推荐
- 【普及组模拟赛】游戏(atlantis.pas/cpp) //2018.1.26
- JZOJ(中山纪中) 1984. 【普及组模拟赛】游戏(atlantis.pas/cpp)
- 2017.1.20【初中部 】普及组模拟赛C组 鸡腿の游戏 题解
- 2017.1.19【初中部 】普及组模拟赛C组 小x的游戏 题解
- 2018.01.26【NOIP普及组】模拟赛D组——游戏(atlantis.pas/cpp)
- 2017.1.12【初中部 】普及组模拟赛C组 简单游戏 题解
- 【动态规划】Vijos P1218 数字游戏(NOIP2003普及组)
- NOIP2016年普及组模拟考试(9.3) 3.笨笨连线游戏
- 蓝桥杯模拟赛:报数游戏(vector解决约瑟夫环)
- 博弈论(noip普及组2010第四题 三国游戏)
- wikioi-天梯-普及一等-区间dp-1166:矩阵取数游戏
- 2017.08.15【NOIP 普及组】模拟赛C组总结
- 【NOIP模拟赛】战棋游戏
- 纪中训练 day3 【NOIP普及组】模拟赛D组 解题报告
- JZOJ(中山纪中) 2018.01.26【NOIP普及组】模拟赛D组 第四题
- JZOJ(中山纪中) 2018.01.30【NOIP普及组】模拟赛D组 第四题
- 纪中训练 day8 【NOIP普及组】模拟赛D组 解题报告
- 智能手机普及游戏 国内外巨头上演GPU芯片争霸
- 【jzoj】2018.2.3NOIP普及组——D组模拟赛
- 1085 数字游戏 2003年NOIP全国联赛普及组