<LeetCode OJ> 292. Nim Game

原创 2015年12月30日 15:56:10

Total Accepted: 55175 Total Submissions: 105975 Difficulty: Easy

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.

Hint:

  1. If there are 5 stones in the heap, could you figure out a way to remove the stones such that you will always be the winner?

分析:

将问题规模缩小,找规律:
桌子上只有1个我必赢,2个我必赢,3个我必赢,4个我必输,5个我必赢,6个必赢,7个必赢,

8个,也就是两个4,我无论怎么摸石头都能让对手以4为一个坎最后摸完石头,所以必输
也就是说n%4==0必输了哦?最后试了一下,的确是这样的。

class Solution {
public:
    bool canWinNim(int n) {
        return n%4!=0;//卧槽,此题代码可以如此简单,意义何在?
    }
};


注:本博文为EbowTang原创,后续可能继续更新本文。如果转载,请务必复制本条信息!

原文地址:http://blog.csdn.net/ebowtang/article/details/50435187

原作者博客:http://blog.csdn.net/ebowtang

版权声明:本文为EbowTang原创文章,后续可能继续更新本文。如果转载,请务必复制本文末尾的信息!

LeetCode292——Nim Game(一行代码解决)

You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac...
  • booirror
  • booirror
  • 2015年10月20日 23:58
  • 8393

LeetCode(292) Nim Game

题目You are playing the following Nim Game with your friend: There is a heap of stones on the table, e...
  • fly_yr
  • fly_yr
  • 2015年11月27日 15:58
  • 939

LeetCode 292 Nim Game(Nim游戏)

翻译你正在和你的朋友们玩下面这个Nim游戏:桌子上有一堆石头,每次你从中去掉1-3个。谁消除掉最后一个石头即为赢家。你在取出石头的第一轮。你们中的每一个人都有着聪明的头脑和绝佳的策略。写一个函数来确定...
  • NoMasp
  • NoMasp
  • 2015年12月23日 20:24
  • 5513

[leetcode-292]Nim Game(java)

问题描述: You are playing the following Nim Game with your friend: There is a heap of stones on the tab...
  • zdavb
  • zdavb
  • 2015年10月13日 14:46
  • 1090

292NimGame.java

如果石头的数目是4的整数,则先取者会输;否则,先取者会赢。 public class Solution { public boolean canWinNim(int n) { ...
  • u010217321
  • u010217321
  • 2016年05月20日 08:55
  • 112

292. Nim Game (C++)

题目:You are playing the following Nim Game with your friend: There is a heap of stones on the table, ...
  • ZZLCSDN2017
  • ZZLCSDN2017
  • 2017年03月06日 20:12
  • 112

【LeetCode从零单刷】Nim Game

【LeetCode从零单刷】Nim Game
  • yOung_One
  • yOung_One
  • 2015年10月13日 16:42
  • 7797

[LeetCode]292. Nim Game

EasyYou are playing the following Nim Game with your friend: There is a heap of stones on the table,...
  • starrrr2
  • starrrr2
  • 2016年09月16日 23:06
  • 61

LeetCode - 292. Nim Game

这道题目只要仔细思考分析问题的规律,就可以发现解题的方法: 代码如下: public class Solution{ public boolean canWinNim(int n){ ...
  • shenzhu0127
  • shenzhu0127
  • 2016年07月22日 00:03
  • 316

[LeetCode]--292. Nim Game

You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac...
  • bug_moving
  • bug_moving
  • 2016年10月16日 14:57
  • 516
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:<LeetCode OJ> 292. Nim Game
举报原因:
原因补充:

(最多只允许输入30个字)