参加游戏的两个对手A和B,在他们面前的桌上有几堆分开的硬币,每堆硬币的数目是任意的。 双方轮流从任意一堆(只许一堆)拿走一枚或几枚硬币(也可把整堆取走),直到把硬币完全取完为止,谁最后一个取完1. 仅1堆:先拿者必胜,策略:全部拿完
2. 仅2堆:设为(k1,k2)
2.1 当k1=k2时,先拿者必败 策略:A在其中1堆中拿多少,B在另1堆中就拿多少,直到拿完为止。 2.2 当k1≠k2时,先拿者必胜 策略:A在数量多的1堆中拿走abs(k1-k2)个,则变为局面2.1,B必败。
3. 仅3堆:设为(k1,k2,k3)
3.1 当k1=k2=k3或其中任何2堆数量相等时,先拿者必胜 策略:A一次全部拿走硬币数量不同的1堆的所有硬币,则变为局面2.1,B必败。 3.2 当k1≠k2≠k3时,分析如下 3.2.1 先用简单的例子,当(1,2,k)时 1)当k=3时,先拿者必败,分析如下 A来取后只可能出现如下局面: (1)(2,3) 如局面2.2 A必败 (2)(1,3) 如局面2.2 A必败 (3)(1,1,3) 如局面3.1 A必败(4)(1,2) 如局面2.2 A必败 (5)(1,2,1) 如局面3.1 A必败 (6)(1,2,2) 如局面3.1 A必败 因此,当(1,2,3)时,先拿者必败 2)当k≠3时,先拿者必胜 策略:A在第3堆中取走(k-3)枚硬币,则变为3.2.1的1)局面,A必胜 3)同理,可分析(1,3,k)的局面 当k=2时,先拿者必败 当k≠2时,先拿者必胜 4)同理,还可分析(2,3,k)的局面 当k=1时,先拿者必败 当k≠1时,先拿者必胜 3.2.2 认真分析3.2.1可得出结论 1)当且仅当(k1)^(k2)^(k3)=0时(其中"^"为位异或运算符),先拿者必败 也可表述为当(k1)^(k2)=k3时,先拿者必败 2)(k1)^(k2)^(k3) ≠0时,先拿者必胜 策略: (1)分别计算(k1)^(k2)、(k1)^(k3)、(k3)^(k2)的值,设其分别为m1、m2、m3,再分别比较k3与m1、k2与m2、k1与m3的大小,其中必有一个M值小,先从其对应k值的堆中取走(k-m)枚硬币。 (2)重复第(1)步并利用1、2的结论即可。
,谁就算胜利(或规定为失败)。
通常的Nim游戏的定义是这样的:
有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。
这个游戏很久以前就已经有了,可是必胜策略直至20世纪初才被哈佛大学的一个叫做Charles Leonard Bouton的数学家找到,可见其思维难度。可是,这个必胜策略却只要由一个运算就搞定了:Xor(异或)运算,可见Xor运算之神奇。没有好好学过程序设计的人估计对Xor运算不甚熟悉,更不可能知道他的神奇应用了,因此我先说一说Xor运算。
Xor运算是位运算的一种,和And、Or运算类似,假如a、b都是布尔变量,则a Xor b被定义为:a、b相异则为真(所以中文名字叫做异或),a、b相同则为假。其真值表为:1Xor0=1, 0Xor1=1, 1Xor1=0, 0Xor0=0。众所周知,位运算也可以用于两个数之间,其定义就是把这两个数转化为二进制,然后一位一位的进行位运算。比如说1Xor4=(001)2 Xor(100)2=(101)2=5。位运算除了具有交换律、结合律这样的普通性质之外,还有几条神奇的性质。
如何在取硬币游戏中必胜?
参加游戏的两个对手A和B,在他们面前的桌上有几堆分开的硬币,每堆硬币的数目是任意的。 双方轮流从任意一堆(只许一堆)拿走一枚或几枚硬币(也可把整堆取走),直到把硬币完全取完为止,谁最后一个取完1. 仅1堆:先拿者必胜,策略:全部拿完2. 仅2堆:设为(k1,k2)2.1 当k1=k2时,先拿者必...
如何在取硬币游戏中必胜?(有关尼姆博弈)
在多棋子的Nim游戏中,必胜策略的关键在于计算每个棋子位置的SG值。当所有SG值异或为0时,就意味着处于P-position,即先手玩家处于劣势。通过将整个游戏分解成子游戏,比如固定步数取石子、任意步数和“任取石子游戏”,我们可以分别计算每个子游戏的SG值,然后异或求和,得到原游戏的SG值。这种模板方法适用...
怎样找到必胜策略
要想在硬币游戏中获胜,你需要掌握一个关键的策略。具体来说,就是在游戏的倒数第二次轮次,你需要留给对手3枚硬币,无论对手拿走1枚还是2枚,你都能赢得比赛。这一策略的有效性基于对手在下一轮中无论拿走多少,你都能将其数量控制在3枚。进一步地,当你在倒数第三次时,需要留给对手6枚硬币,这...
尼姆游戏的必胜策略
那么,尼姆游戏是否存在一种最优的策略以实现必胜呢?答案是肯定的。通过二进制找到平衡点是关键。具体操作如下:以三行分别是3枚、4枚、5枚为例。观察每一行“1”的数量,偶数表示平衡,奇数表示不平衡。目标是构造平衡状态。将第一行中“1”数量从偶数变为奇数,即将第三行取走一枚硬币,从第一行中...
357硬币游戏攻略(357游戏详细攻略)
攻略1:采用基数策略 在357硬币游戏中,每个回合的硬币数量都是偶数,所以游戏玩家要想获胜,就需要采用基数策略。具体来说,游戏玩家需要在前几个回合中取走1-3枚硬币,以让游戏玩家的对手在后面的回合中面临奇数数量的硬币,这样他就必输无疑了。攻略2:利用对手的失误 在357硬币游戏中,如果游戏玩家...
推币游戏中如何取胜?
第一,控制力度 电玩城超级小火车皇冠推币机中最关键的一点就是控制力度。通常,在推币机游戏中,我们需要将硬币推到尽可能接近边缘的位置,从而利用地心引力将更多的硬币推下去。然而,如果推的力度过大,硬币可能会在推出的过程中翻转或者反弹,导致硬币落在游戏机之外,从而浪费了机会。相反,如果推的...
“倒退转化巧拿硬币”怎样赢? 游戏1:七枚 游戏2:九枚 游戏3:十五枚
1:先拿拿一枚,对手不管拿几枚,剩下的都拿了就赢了 2:先拿拿三枚,剩下的同上 3:先拿拿三枚,设对手拿N枚,你再拿6-N枚(每回合都如此你就赢了)后拿的条件下:设对手先拿N枚,你拿(15-N)\/6的余数枚,剩下的回合同上
15个硬币谁拿最后一个谁输
题主是否想询问“拿最后一个硬币就输的游戏规则"?规则如下:一堆硬币,共n枚,两个人轮流从其中拿出若干枚,每次只能拿1个,2个或者4个。规定最后一个拿硬币的人为输。问:在先手和后手中,谁有必胜策略?比如,最简单的情况,总共就1枚硬币,则后手有必胜策略(而且无论如何必胜),因为先手必须...
有一象棋残局,如图,据说红方先动能赢,请教如何动法
先说点别的,我曾经看过一道题,两小孩在玩个游戏,规则如下:在张圆桌上轮流平放硬币,最后硬币掉下桌面的人判负。问先放者如何必胜,答案是先放者把硬币放在圆心,后者如何放则按对称放。如果本局无边卒,红先下必胜。炮六平七 炮4平3 炮七进二 红黑炮隔的步数,以下红依黑棋下可胜。但本局有边...
求教《大航海4》中,有个在新大陆酒馆和你玩硬币游戏的家伙,怎么样才能...
这个很简单的,你始终让硬币的数量保持在4的倍数就可以。如果出来的是17个,你就拿掉一个,剩16个,那么到你下次拿的时候就拿剩12个,这样下去,你一定赢。我知道了,你的题目是谁拿最后一个就是输,对吗?那我说的也没错啊 你只要去掉一个,保持4的倍数不就对了吗?你再想想。