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取
posted @ 2020-11-26 15:34  BOTAK  阅读(129)  评论(0编辑  收藏  举报