作者cutekid (可爱小孩子)
看板Inference
标题Re: [问题] 抓糖果的游戏-有必胜法吗?
时间Wed Dec 7 14:51:53 2016
此题属於 Impartial Game
根据 Sprague-Grundy 定理所写的程式码:
http://codepad.org/TY9K0HuG
查询 OEIS 的结果: n = 71 开始出现规律(周期 = 12)
https://goo.gl/KOLXU1
先手胜型、输型判断法:
将每堆糖果的 g(n) 值做「二进位 xor 总和」得到 Nimber
Nimber 为 0 (输型)
Nimber 不为 0 (赢型)
例: 3 堆糖果(7,7,7), g(7) = 2
Nimber = 2 ^ 2 ^ 2 = 2(赢型)
例: 2 堆糖果(1,4), g(1) = 1, g(4) = 1
Nimber = 1 ^ 1 = 0(输型)
例: 3 堆糖果(2,3,4), g(2) = 2, g(3) = 3, g(4) = 1
Nimber = 2 ^ 3 ^ 1 = 0(输型)
以此类推
※ 引述《dsnsid (豪洨人)》之铭言:
: 有一个游戏是这样的,
: 给你一共14颗的糖果,如下图:
: ○○○○○○○
: ○○○○○○○
: 你一次只能够抓一颗,或是两颗,位置随你选择。
: 如: 或
: ●●○○○○○ ○○○●○○○
: ○○○○○○○ ○○○○○○○
: 但是不可以这样抓。
: 如: 或 或
: ○○○○○○○ ●○○○○○○ ●○○○○○○
: ○●○○○○● ●○○○○○○ ○○○○●○○
: 如果最後一颗被你抓到,你就赢了。
: 请问这样要怎麽样才能够必胜?
: --------------------------
: 自己的想法是
: 似乎要後攻才能必胜
: 对手: 我: 对手: 我:
: ●○○○○○○ ●○○○○○○ ●○○●●○○ ●○○●●○○
: → → →
: ○○○○○○○ ●○○○○○○ ●○○○○○○ ●○○●●○○
: 对手: 我:
: ●●●●●○○ ●●●●●○○
: → 至此,推测剩下的可能,应该不会输。
: ●○○●●○○ ●●●●●○○
: 红色是我
: case1: case2:
: ●●●●●●● ●●●●●●○ ●●●●●●●
: →
: ●●●●●●● ●●●●●●○ ●●●●●●●
: 只是会这麽顺利吗....
: 而且我也说不出来是甚麽原理..
: 请教各位有没有甚麽想法可以讨论一下。
: 另,还有进阶的玩法,如下,玩法一样也是一次选两颗,这个也有必胜法吗?
: ○○○○○○○
: ○○○○○○○
: ○○○○○○○
: 请益各位 谢谢大家。
※ 编辑: cutekid (210.61.233.210), 12/07/2016 14:53:15
1F:推 dsnsid: 专业推 非常感谢 12/07 15:01