1.11 NIM(1)一排石头的游戏
1.11 NIM(1)一排石头的游戏
基本问题:个石头排成一行,每一块石头有各自固定的位置。两个玩家依次取石头,每一个玩家每一次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位,最后能将剩下的石头一次取光的玩家获胜。
answer:
必胜策略:
- n = 1 拿完,必胜
- n = 2 拿完,必胜
- n = 3 拿中间的那个,必胜
- n = 4 拿中间的两个,必胜
- 由上面推算可得如果n>4,先取石头的那个人取中间的一个(n为奇数)或者中间连着的两个(n为偶数),确保左右两边的石头数目是一样的,之后先取石头的人只需要每次以初始中心为对称轴,与后取石头者取石头位置的地方对称的地方取相同数目的石头即可,就可以保证每次必有石头可取,并且最终赢得游戏。
拓展问题
1 若规定最后取光石头的人输,又该如何应对呢?
没有必胜策略
- n = 1 只能拿完,必输
- n = 2 拿一个,胜利
- n = 3 拿两个,胜利
- n = 4 无论拿一个还是拿两个,必输
- n = 5 拿一个,转成n=4 胜利
- n = 6 拿两个,转成n=4 胜利
- n = 7 必输
具体的步骤:
- n = 3k+1 对手赢
- n = 3k+2 你赢,拿走1块石头,变成3k+1
- n = 3k+3 你赢,拿走2块石头,变成3k+1
2 若两个人轮流取一堆石头,每人每次最少取1块石头,最多取K块石头,最后取光石头的人赢得此游戏
- 如果K > n 则先取石头者胜利
- 如果K < n 考虑n与k的关系
n=(k+1)c+d
当d!=0时,先手玩家取d-1个石头剩余(k+1)c+1,然后轮到玩家B取石头,不论B取多少石头,A都能够取相应的石头,使得A和B一起取k+1个石头这样,还剩余(k+1)*(c-1)+1个石头,如此往复,一定会剩余一个石头等着A取
Saying Less Doing More