- 最后登录
- 2025-1-16
- 在线时间
- 2284 小时
- 阅读权限
- 100
- 注册时间
- 2006-7-26
- 积分
- 7904
- 帖子
- 4949
- 精华
- 6
- UID
- 6212
- 性别
- 男
  
- 积分
- 7904
- 帖子
- 4949
- 精华
- 6
- UID
- 6212
- 性别
- 男
|
假设有N堆棋子,每堆棋子的数量均为大于1的任意数,现有二人依次拿取,每次只能从一堆中拿取,数量不限,但不得小于1,谁最后拿完谁胜利。问取胜策略。
原理:将每堆的数目转换成二进制数相加,结果以十进制显示,但满十不进位,如果结果的每个数位上都是偶数的话,我们称之为“均偶”状态。“均偶”数列拿取后必定成为“非均偶”数列,而“非均偶”数列拿取后可以成为“均偶”数列,也可以成为”非均偶“数列。因为取胜的最终状态{0、0、0……}为“均偶”状态,所以取胜的实质就是要把“均偶”数组留给对手。
策略:首先判断原始数列的状态,如果不是“均偶”状态,那么就要通过调整某个数,使之变成“均偶”数列留给对方,坚持到底就会胜利。“非均偶”数列先拿者必胜。“均偶”数列先拿者必败。
举例:有95、87、62三堆棋子,我方先拿取,求取胜策略,模拟如下(看不清的可以下载附件看)
【补充】
至于相反的规则“谁拿最后一个谁输”的取胜策略,只需将上面的规律略加修改,也可以控制局面。如果你一直拥有“均偶”数列,对方一直处于劣势,到某一时候,对方留下来的残局一定会出现一种特殊型态,即是,除某一个数大于1,其他各数均为1(为0的不管它),这时候你的拿法要开始注意,你需将较大的数变为0或者1,决定采取何者,完全看你拿了之后,要能使剩下的堆数为奇数,也就是给对手剩下奇数个1。显而易见的是,以后对方取一个,你也取一个,到最后拿的一定是对方,于是你就赢了。
[ 本帖最后由 忧天杞人 于 2009-2-23 08:29 编辑 ] |
|