題目
https://leetcode-cn.com/problems/nim-game/comments/
你和你的朋友,兩個(gè)人一起玩 Nim游戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最后一塊石頭的人就是獲勝者。你作為先手。
你們是聰明人,每一步都是最優(yōu)解。 編寫(xiě)一個(gè)函數(shù),來(lái)判斷你是否可以在給定石頭數(shù)量的情況下贏得游戲。
示例:
**輸入:** `4`
**輸出:** false
**解釋:** 如果堆中有 4 塊石頭,那么你永遠(yuǎn)不會(huì)贏得比賽;
因?yàn)闊o(wú)論你拿走 1 塊、2 塊 還是 3 塊石頭,最后一塊石頭總是會(huì)被你的朋友拿走。
我的AC
只要給對(duì)手留下4的整數(shù)倍個(gè)石子你就穩(wěn)贏
class Solution(object):
def canWinNim(self, n):
"""
:type n: int
:rtype: bool
"""
return not n % 4 == 0
小結(jié)
- 可以令
n = 1, 2, 3, ...逐一判斷,歸納找出規(guī)律