魔方吧·中文魔方俱乐部
标题:
也说拿N堆棋子的问题
[打印本页]
作者:
忧天杞人
时间:
2008-5-20 14:27:37
标题:
也说拿N堆棋子的问题
假设有N堆棋子,每堆棋子的数量均为大于1的任意数,现有二人依次拿取,每次只能从一堆中拿取,数量不限,但不得小于1,谁最后拿完谁胜利。问取胜策略
。
原理:将每堆的数目转换成二进制数相加,结果以十进制显示,但满十不进位,如果结果的每个数位上都是偶数的话,我们称之为“均偶”状态。“均偶”数列拿取后必定成为“非均偶”数列,而“非均偶”数列拿取后可以成为“均偶”数列,也可以成为”非均偶“数列。因为取胜的最终状态{0、0、0……}为“均偶”状态,所以取胜的实质就是要把“均偶”数组留给对手。
策略:首先判断原始数列的状态,如果不是“均偶”状态,那么就要通过调整某个数,使之变成“均偶”数列留给对方,坚持到底就会胜利。“非均偶”数列先拿者必胜。“均偶”数列先拿者必败。
举例:有95、87、62三堆棋子,我方先拿取,求取胜策略,模拟如下(看不清的可以下载附件看)
2008-5-20 14:27:37 上传
下载附件
(45.1 KB)
【补充】
至于相反的规则“谁拿最后一个谁输”的取胜策略,只需将上面的规律略加修改,也可以控制局面。如果你一直拥有“均偶”数列,对方一直处于劣势,到某一时候,对方留下来的残局一定会出现一种特殊型态,即是,除某一个数大于1,其他各数均为1(为0的不管它),这时候你的拿法要开始注意,你需将较大的数变为0或者1,决定采取何者,完全看你拿了之后,要能使剩下的堆数为奇数,也就是给对手剩下奇数个1。显而易见的是,以后对方取一个,你也取一个,到最后拿的一定是对方,于是你就赢了。
[
本帖最后由 忧天杞人 于 2009-2-23 08:29 编辑
]
附件:
未标题-1.jpg
(2008-5-20 14:27:37, 45.1 KB) / 下载次数 48
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTY4OTF8NDhkNWUxOTN8MTc0MDgzMTUwNnwwfDA%3D
附件:
文档 1.pdf
(2008-5-20 14:27:37, 54.14 KB) / 下载次数 11
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=MTY4OTJ8YThjYmIyYmJ8MTc0MDgzMTUwNnwwfDA%3D
作者:
kexin_xiao
时间:
2008-5-20 16:24:14
抢个头排的座,等着学习!
作者:
gozichen
时间:
2008-5-20 16:27:54
以前玩过,现在都忘记了
作者:
lqrsjcs
时间:
2008-5-20 18:54:26
如果是谁拿到最后一个算谁输,就比这个规则还要难一点,取胜策略大致一样,不过扫尾的时候有点区别,而且用转换二进制再相加法有时候行不通,会玩谁拿到最后一个算谁输的就会玩谁拿到最后一个就算谁赢的,但反过来就不成立了。
作者:
bbshanwei
时间:
2008-5-20 19:03:39
这些天正在研究“分珍珠”,这个来的太是时候了!感谢LZ。
作者:
oooo
时间:
2008-5-20 20:53:26
如果是谁拿到最后一个算谁输,就比这个规则还要难一点,取胜策略大致一样,不过扫尾的时候有点区别,而且用转换二进制再相加法有时候行不通,会玩谁拿到最后一个算谁输的就会玩谁拿到最后一个就算谁赢的,但反过来就不成立了。
不解释我绝对看不明白啊 揭示了也不大明白
作者:
lqrsjcs
时间:
2008-5-20 21:28:26
该解释的楼主不都解释了吗,楼主解释的很详细了
作者:
whitetiger
时间:
2008-5-21 08:57:14
这个人家早已研究透了。在网上搜索“Nim”游戏,大家就知道了,还有好多变种呢!(这个只是第二简单的形式。)
作者:
lqrsjcs
时间:
2008-5-21 10:21:31
楼上高手,给下谁拿到最后一个谁输的必胜策略
向楼上学习下,我想了半天也想不出来用数学怎么表达这种必胜策略
作者:
忧天杞人
时间:
2008-5-21 14:24:50
这个问题已经解决,个人感觉。
作者:
lqrsjcs
时间:
2008-5-23 11:19:49
我只是想知道必胜策略而已
这问题我小学的时候就知道了,肯定早就有人解决了。
欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/)
Powered by Discuz! X2