[Leetcode292]Nim游戏

你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。

这是一道博弈论的问题,但是在一直条件的限定下,你会发现,当石头数量是4的倍数时,你就会输。所以

python:

class Solution(object):
    def canWinNim(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return (n % 4) != 0

C++: 

class Solution {
public:
    bool canWinNim(int n) {
        return (n%4 != 0);
    }
};

猜你喜欢

转载自blog.csdn.net/qq_40501689/article/details/82952704