網(wǎng)站代碼在哪看查詢網(wǎng)站收錄
題目描述
你和你的朋友,兩個(gè)人一起玩 Nim 游戲:
- 桌子上有一堆石頭。
- 你們輪流進(jìn)行自己的回合, 你作為先手 。
- 每一回合,輪到的人拿掉 1 - 3 塊石頭。
- 拿掉最后一塊石頭的人就是獲勝者。
假設(shè)你們每一步都是最優(yōu)解。請(qǐng)編寫一個(gè)函數(shù),來(lái)判斷你是否可以在給定石頭數(shù)量為 n 的情況下贏得游戲。如果可以贏,返回 true
;否則,返回 false
。
示例 1:
輸入:n = 4
輸出:false
解釋:以下是可能的結(jié)果:
- 移除1顆石頭。你的朋友移走了3塊石頭,包括最后一塊。你的朋友贏了。
- 移除2個(gè)石子。你的朋友移走2塊石頭,包括最后一塊。你的朋友贏了。
- 你移走3顆石子。你的朋友移走了最后一塊石頭。你的朋友贏了。
在所有結(jié)果中,你的朋友是贏家。
示例 2:
輸入:n = 1
輸出:true
示例 3:
輸入:n = 2
輸出:true
提示:
- 1 <= n <= 231 - 1
解題方案
巴什博奕
- C
bool canWinNim(int n){return n % 4 != 0;
}