编程之美——NIM(1)一排石头的游戏

编程之美——NIM(1)一排石头的游戏


        NIM(1)一排石头的游戏这个问题书上讲解的已经很详细了,特此不讲了,可以参考《编程之美》。
       下面给出扩展题的思考。
        

问题描述:N块石头排成一行,每块石头有固定的位置。两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,

石头在游戏过程中不能移位,最后取光石头的人输,如何应对? 

(1)当N=1时:先取者A只能取完必输——lose;

(2)当N=2时,先取者A比赢——win;

(3)N=3,先取者A可先取任意两块——win;

(4)N=4,若A取两个石头,那么B取一个石头,A只能取最后剩下的一个石头。若A取一个石头,那么B取两个石头,A只能取最后剩下的一个石头。因此,无论A怎么取,B都有必胜策略。——lose;

(5)N=5,A先取一块石头,变成4块石头B取必定输,从而A——win;

(6)N=6,同理A先取两块石头,又变成4块石头的情形——win;

(7)N=7,各种方案发现——lose;

……

总结:N=3K+1(K=0,1,2,……)时先取者A输,其余情况N=3K,N=3K+2时先取者A赢

    原文作者:快乐的霖霖
    原文地址: https://blog.csdn.net/chdhust/article/details/8348621
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞