码迷,mamicode.com
首页 > 其他好文 > 详细

Nim Game

时间:2016-02-25 11:54:49      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

简单规律:

如果你面前的石子数为1,2,3必赢 4必输;

所以4+1(5),4+2(6),4+3(7)你必赢,因为你总是有办法让对方面对4,而前面分析过了4是必输的;

所以当你面对n的时候,如果n-1 n-2 n-3 有一个是必输的,那么你就会赢,否则你就会输

可以分析8的时候,因为5,6,7都是赢,所以面对8的一方是必输的;

因为8必输,所以9,10,11必赢【道理,跟4,5,6,7是一样的~】

所以12必输。。。

。。。。

以此类推。。。

。。。。

发现了吧,每4个数字是一个循环!

class Solution {
public:
    bool canWinNim(int n) {
        if(n<0) return false;
        if(n%4==0) return false;
        return true;
    }
};

  

Nim Game

标签:

原文地址:http://www.cnblogs.com/julie-yang/p/5216226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!