取石子遊戲

2021-08-31 10:18:33 字數 603 閱讀 5415

網上題目:

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,假設雙方都採取最好的策略,請問有沒有必勝的策略。如果沒有請說出原因。

我的想法:

如果兩堆石子的數量為(0,m)或(m,0),則先取者直接取走m個石子即可取勝。

如果兩堆石子的數量為(m,m),則先取者直接取走(m,m)個石子即可取勝。

如果兩堆石子的數量為(2,1)或(1,2),那麼後取者勝。取法只有(2)-》(1),(1,1)--》(1)兩種。先取者不論如何都不能一次取完,後取者勝。

如果兩堆石子的數量為(m,1)或(1,m),先取者勝。取法(m-2)後,餘(2,1)。

如果為(m,n),有乙個取者如果把結果變成(m,1)或(1,m)式,(m>2)則這個取者敗。如果取者把先結果變成(2,1)或(1,2)式,則這個取者勝。

因此雙方都盡量避免出現取走後出現(0,m),(m,m),(m>2,1)的局勢。都盡量拿走後出現(2,1)或(1,2)的局勢,即可獲勝。

有點像下象棋,要求最後的結果按照某個套路來將對方打敗。

取石子遊戲

如下 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個物品,兩個人輪流從這堆物品中取物,規定每...

取石子遊戲

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。in...

取石子遊戲

取石子遊戲 time limit 1000ms memory limit 10000k total submissions 25176 accepted 7961 description 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆...