思想:
题目要求你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。
你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。
每个人可以拿掉1-3块石头,当留给对手4个石头时,不管怎样我都能赢。所以我们只要给对手留下4的整数倍个石子,我们就能稳赢。比如现在有7个石子,我拿掉3个,留下4个(稳赢)。再者现在有9个石子,我拿掉1个,留下8个(稳赢)。即n若是4的倍数肯定输,若不是肯定赢。
class Solution:
def canWinNim(self, n):
"""
:type n: int
:rtype: bool
"""
if n%4==0:
return False
else:
return True
这个游戏,很考验智力哦