美文网首页ACM题库~
[LeetCode-Easy]292. Nim Game-Nim

[LeetCode-Easy]292. Nim Game-Nim

作者: AceCream佳 | 来源:发表于2016-08-21 07:15 被阅读45次

    题目:

    You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.
    Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.
    For example: if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.

    思路:

    题目很长,但是不算难,直接看example就可知其中规律:
    (胜负为自己的输赢,W为胜,L为负)

    局数 胜负
    1 W
    2 W
    3 W
    4 L
    5 W
    6 W
    7 W
    8 L
    9 W

    可以看到,可以被4整除的局,我们都输了,所以立即判断出规律!

    代码:

    public class NimGame {
      public boolean canWinNim(int n) {
          boolean flag = true;
          if (n%4==0) {
              flag = false;
          }else {
              flag = true;
          }
          return flag;
      }
      public static void main(String[] args) {
          NimGame ng = new NimGame();
          System.out.println(ng.canWinNim(8));
      }
    }

    相关文章

      网友评论

        本文标题:[LeetCode-Easy]292. Nim Game-Nim

        本文链接:https://www.haomeiwen.com/subject/jynisttx.html