sa8000和bsci:这个游戏有何技巧?

来源:百度文库 编辑:中科新闻网 时间:2024/04/27 16:28:08
有三堆棋子,没堆有若干个,两人轮流取棋子,每次至少取一个,至多取一堆,取到最后一个的人胜。
wossmya先生,如三堆是1、4、5为单数,我如何取?如三堆是1、2、3为偶数,他先取走3,我如何取?
kenan12321先生,如三堆是2、4、8,我任意取走2,都行吗?
用膳 先生?有点复杂,但好象对。如果有4堆、5堆...的话呢?可以教我吗?
Baige123 先生 按您的方法,三堆是1、5、7的时候,我把它取成1、5、6,对方取成1、5、4,我再取成1、3、4,对方取成1、3、2时,我就只好认输了。

楼主
这个游戏如果是你先行动,在一些特殊情况下,有一个必胜的方法

观察:三堆中有几堆是1,
1、如果三个都是1,则,A取1,B取1,A再取1胜,
2、如果有两堆是1,则把不是1的全取走,A取非1的全部,B取1,A再取1胜
3、如果有一堆是1,
再看另两堆,如果数量一样,则直接把1个取走,然后,无论B取多少,A都取相同的,A胜
如果两堆数量不一样,保证取后不出现1,且两堆一堆为奇数个,一堆为偶数个,然后再跟着B取,B取多少,A也跟着取多少(不出现有1的情况,如果哪一次B取完后,出现了第二个1,则返回上面的情况)。但如果B取走的是1,则,将两堆取到相等,A也就胜了,如果B取了一堆的全部,则A取另一堆的n-1,剩一个,A胜
4、如果全不是1,
选出一奇数堆,一偶数堆,把第三堆取到只剩一个,返回到上面的情况
如果全是偶数,先取一堆剩下2个,如果B取后出现了奇数堆,则返回上面的情况,如B取2里的一个,则,将后两堆中取完出现一奇数堆,又返回上面的情况,如B取走了2里的2个,则将另两堆取得数量一样多,也返回上面的情况A胜
如果B取后还是偶数堆,如果B也取一堆中的n-2,剩下2个时,则取第三堆的全部,如果不是剩下2,则取到另外两堆相差4,但这种情况不是必胜的
如果三堆都是奇数时,取到一堆剩下2,如果B取另两堆,且出现了偶数,则把2取走1,结果如上
如果B取后也是奇数非1,则取其中的一堆剩下1,如果B取后出现了1,则返回上面的情况

哎呀,好多种情况,楼主得慢慢想,自己想通了才行,
可能上面会有错了,楼主自己想才是最关键的

您能够把三堆棋子取成下面的状况,并保持住您就能赢。
第1种状况,两堆一样多;
第2种状况,最多一堆为奇数,且等于另两堆棋子数的和;
第3种状况,最多一堆为偶数,另两堆为奇数,且最多一堆棋子数等于另两堆棋子数的和加2;
第4种状况,三堆全是偶数,但把三堆棋子数同时除以2,结果符合第2种状况或第3种状况。
有这几条就差强人意了,基本能赢大多数人了。

要是棋子数量是单数的话就你先取~~要是偶数的话就让他先取

必须保证拿棋子的人所拿棋子的数是剩下数的约数