主题:QB45,此题怎么做呀!
hqm1
[专家分:570] 发布于 2008-02-22 20:23:00
Matrix67和Shadow正在做一个小游戏。
桌子上放着两堆糖果,Matrix67和Shadow轮流对这些糖果进行操作。
在每一次操作中,操作者需要吃掉其中一堆糖果,
并且把另一堆糖果分成两堆(可以不相等)留给对方操作。
游戏如此进行下去,糖果数会越来越少,最后必将出现这样一种情况:
某人吃掉一堆糖果后发现另一堆里只剩一块糖果不能再分了。
游戏规定此时该操作者吃掉最后这一块糖果从而取胜。
这个游戏是不公平的。对于任意一种初始状态,总有一方有必胜策略。
所谓有必胜策略是指,无论对方如何操作,自己总有办法取胜。
Matrix67和Shadow将进行10次游戏,每一次游戏中总是Matrix67先进行操作。
Matrix67想知道每一次游戏中谁有必胜策略。
输入数据: 输入数据一共10行,每行有两个用空格隔开的正整数,
表示一次游戏开始时桌子上两堆糖果分别有多少个。
输出数据: 输出十行字符串。这些字符串只能是“Matrix67”或“Shadow”,
它们表示对应的十行输入数据中有必胜策略的一方。
请注意大小写。
如:输入: 1 1
输出: Matrix67
最后更新于:2008-02-22 20:26:00
回复列表 (共13个回复)
沙发
Ancker.du [专家分:120] 发布于 2008-02-23 04:19:00
猴子吃桃问题!
板凳
我爱QB [专家分:200] 发布于 2008-02-23 12:09:00
不是猴子吃桃的问题,猴子吃桃是倒推,这不一样。
3 楼
Ancker.du [专家分:120] 发布于 2008-02-23 16:01:00
原理基本差不多嘛!
4 楼
Ancker.du [专家分:120] 发布于 2008-02-23 16:29:00
汗 题目没看清!!!!!!!!!!!!!!!
5 楼
fhssy1986 [专家分:80] 发布于 2008-02-24 00:57:00
奇数个糖Matrix67 第一次拿奇数以后配合Shadow使Shadow一直拿偶数,
最后第二次拿完使Shadow拿时还剩2个,Matrix67就赢
按奇偶分
6 楼
moz [专家分:37620] 发布于 2008-02-25 09:30:00
M,S 两人, 一百亿块糖
M先操作: 吃完........
呵呵,没想清楚,
再看看楼上的提示,呵呵,没那么简单.
奇偶数是不行的.
这样子,我们先来分析一下,
能分出什么数, (分出来后是必赢的)
有什么数是不能分出来的, (分出来后是必输的)
可分出来的数[color=ff00ff]X组[/color] 不能分出来的数[color=ff00ff]Y组[/color] 原因
1 (A.必输无疑,对方把另一堆吃完了,再把这一颗吃了就赢了)
2 (B.如果对方吃另一堆,剩下两颗,无论他怎样分自己都能赢)
3 (同方法B.)
4 (C.对方吃完另一堆,分与两堆2,得结果B)
5 (D.同C,B)
6 (同D)
7 (E.这个数,不能由X组的数组成和,否则会有Y组数出现)
8 (同E)
9 (同E)
得出的原理是什么? ........
7 楼
moz [专家分:37620] 发布于 2008-02-26 12:26:00
function W(A,B)
W=1-(((A mod 5)and(B mod 5))>1)
end function
8 楼
moz [专家分:37620] 发布于 2008-02-26 12:38:00
def fnW(A,B)=1-(((A mod 5)and(B mod 5))>1)
9 楼
聪明一袋烟 [专家分:330] 发布于 2008-02-26 22:25:00
moz 分析的和我分析的几乎一样 对于你剩下的糖来说 如果尾数为 2 ,3, 7, 8四者之一 则你必然输,想赢的唯一办法是把剩下的数分成2个都是必然输的数
能赢的数 必输的数
2
3
4
5
6
7
8
9
10
11
12
13
[size=3][b] .
.
.[/b][/size]
所以5个数一组可赢的和必输的规律出现
input a,b
IF (a - 2) MOD 5 < 2 AND (b - 2) MOD 5 < 2 THEN PRINT "Shadow" ELSE PRINT "Matrix67"
end
10 楼
moz [专家分:37620] 发布于 2008-02-27 09:37:00
1,1
我来回复