作者CHOIP (小彬彬)
看板Inference
标题Re: [问题] 我看不懂它的游戏规则~
时间Sun Mar 7 01:31:13 2004
※ 引述《october174 (~小米~)》之铭言:
: ※ 引述《lovesea (山通大海)》之铭言:
: : ※ 引述《shice (全家就是你家)》之铭言:
: : : http://www.transience.com.au/pearl3.html
这个游戏其实背後是一个"古老!?"的数学问题。
题目:有n排珠子,每排均有若干个。
A,B两人轮流拿,每次只能从某排任意提取几个珠子
直到拿最後一颗的人算败。
是不是有必胜的策略呢?是先手必胜,还是後手呢?
首先:
假设大家都了解二进位的算法。
EX)举个例,现在有3排珠子,分别是2,3,4颗。
number 二进位表示法
o o 2 --> 1 0
o o o 3 --> 1 1
o o o o 4 --> 1 0 0
--------------
把每项和加起来 1 2 1
可以发现一些特性...
★ 所有排列组合会有两种状态,一种叫balanced,另一种是unbalanced
☆ 所谓balanced就是每排数列二进位中每一个位数的和都是偶数。
(EX 像上例,第2位的和=1+1=2,是偶数。而1,3位却是奇数,所以是unbalanced)
★ 当balanced状态时,无论怎麽拿取珠子,都一定会变成unbalanced状态。
☆ 而当unbalanced时,一定存在某种拿法,使得剩下珠子为balanced状态。
(靠着上面这两个特性,就可以找出必胜的拿法)
实际玩一次^^
目前是2,3,4。如果把4颗珠子那排拿3颗,就剩下2,3,1
number 二进位表示法
o o 2 --> 1 0
o o o 3 --> 1 1
o 1 --> 1
--------------
把每项和加起来 2 2
如此变形成balanced状态。
接着,无论对手怎麽拿,一定会变成unbalanced,
所以下一步一定可以再变回balanced状态。
例如对手把1个拿走,剩2,3 --> 下一步就从3颗珠子中拿1颗,形成2,2
再来若对手拿一个,我们就拿两个;若对方拿两个,我们就拿一个,win!
先提示到这里^^ 大家玩玩看吧,记得拿笔出来算~哈!
小技巧1:当每排珠子都剩1个时,就要改变战略,留下奇数排(why?自己想^^)
小技巧2:有时候一开始就是balanced,此时候就要PASS,让对手先拿 :)
小技巧3:当珠子太多,数不清时,记得从中间拿,可以4个一数比较不会眼花^^
小技巧4:有几个必胜类型,记一下,就不用每次算^^
(2,2) (3,3) (4,4) (n,n) (1,1,1) (1,2,3)
※ 编辑: CHOIP 来自: 140.114.202.176 (03/07 01:32)
1F:→ lovesea:我会了...XD 推 210.58.144.32 03/07