LeetCode Nim Game (简单nim)

时间:2021-02-02 07:00:15

题意:

  有一堆石子,里面有n个石头,每次可以从中取出1~3个,两人轮流取,最后一个石子被谁取走即为赢家。你先取,问最后谁赢?

思路:

  n%4>0则先手赢,因为每次总是可以给对方留4个石子的倍数,而对方最多只能取到3个,剩下的给先手来取,所以先手赢。

C++:

 class Solution {
public:
bool canWinNim(int n) {
return n%>;
}
};

AC代码

python:

 class Solution(object):
def canWinNim(self, n):
"""
:type n: int
:rtype: bool
"""
return bool(n&3)

AC代码