• 292. Nim 游戏


    拿到题目想到了以前学过的博弈论,这里是比较简化的,对于本题,我们可以把

    不同情况下先手的输赢结果列出来看。参考如下分析,我们可以得知,

    当 N = 3N=3 的时候,当前做出选择的人可以拿掉最后一块石头,获得胜利;
    然后我们逐层向上分析,当 N = 4N=4 的时候,无论当前做出哪一种选择,对方都会赢,所以当前只能输掉比赛;
    如果当前这一层的结点里「有输有赢」,因为我们「足够聪明」,所以必须选择可以让对方输掉的分支,好让自己赢;
    对于这个问题的特点是,当 NN 不是 44 的倍数的时候,先手(当前做出选择的人),或者说游戏一开始做出选择的玩家一定会输。

    原文地址:https://leetcode-cn.com/problems/nim-game/solution/ji-yi-hua-di-gui-dong-tai-gui-hua-guan-cha-gui-lu-/

    1     public boolean canWinNim(int n) {
    2         return (n%4)!=0;
    3     }
    争取早日不再是一只菜鸡
  • 相关阅读:
    5.集合(3)——Map集合
    4.集合(3)——List集合
    2.初窥集合类1
    1.正则表达式1
    (13)JSON
    (12)表单验证
    Wpf实现TreeSelect多选
    Wpf实现TreeSelect
    Wpf登录验证方式(5)-推理拼图的实现
    Wpf登录验证方式(4)-语序点选的实现
  • 原文地址:https://www.cnblogs.com/jchen104/p/14737853.html
Copyright © 2020-2023  润新知