詳解取石子Bash Game。

2021-09-29 21:07:10 字數 622 閱讀 9818

問題:

bash game,有1堆含n個石子,兩個人輪流從這堆物品中取物,規定每次至少取1個,最多取m個。取走最後石子的人獲勝。

思路:

先考慮具體例子,再推導到普遍情況。

先假設n為10, m為3.

若想贏,即取最後乙個石子,

可以有(10)或 (9,10)或 (8,9,10)三種取法。

而只要上一輪最後乙個取的是第6個,就可以取到最後乙個。

因為你取了第六個,對手就只能取(7)或 (7,8)或 (7,8,9)。

對手取(7) (7,8) (7,8,9)哪種,你都能贏。

即:要想取到最後乙個,先要取到第6個。

依次類推:要想取到第6個,要先取到第2個。

顯然:先手者是能取到第2個的。

再假設n為8, m為3.若想贏,先要取到第4個,若想取到第4個,先要取到第0個,顯然先手者是取不到第0個,也取不到第4個的。

因為先手者第一次取是只能選擇

(1) (1,2) (1,2,3)。

所以這種情況先手者贏不了

你是不是已經發現規律了,

只要 n mod (m+1) 有餘數,先手者就能贏,否則先手者不能贏。

取石子遊戲

如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...

取石子問題

xiao tang和xiao jiang非常喜歡玩一種有趣的小遊戲 有n個石子,兩人輪流從中取出1個,3個或4個石子,當石子被取空時,遊戲結束。最後乙個取石子的人獲勝,第一次總是xiao tang取.當然,他們倆都足夠聰明,總會採取最優的策略。input 每行會有乙個正整數n n 100000 代表...

取石子問題

有一種很有意思的遊戲,就是有物體若干堆,可以是火柴棍或是圍棋子等等均可。兩個人輪流從堆中取物體若干,規定最後取光物體者取勝。這是我國民間很古老的乙個遊戲,別看這遊戲極其簡單,卻蘊含著深刻的數學原理。下面我們來分析一下要如何才能夠取勝。一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這...