停車場風雲必勝秘訣

| 名詞定義 | 倒推法 | 餘數法 | 中途戰法 |
名詞定義
    為了方便說明,下面先定義幾個名詞
  • 勝點:
    1. 當剩餘的停車位是是某一個數字時,如果輪到下一步的人一定會輸;我們就把這個數字叫做勝點。
    2. 遊戲者選取停車數時必須要搶佔勝點,誰能搶佔到勝點,就能使對方輸而自己勝。
  • 輸點:
    1. 當剩餘的停車位是某一個數字時,如果輪到下一步的人一定會勝;我們就把這個數字叫做輸點。
    2. 遊戲者選取停車數時必須要避開輸點,否則就是對方勝而自己輸了。
  • 可選停車數:
    1. 玩者可選取停入車子的最大數字。
    2. 例如:在「由一號玩家開始,共 30 個停車位,每次最多可選擇停入 3 輛車,停進最後一輛車者勝」 這個遊戲中,可選停車數是 3 。
倒推法
  • 以下用「由一號玩家開始,共 30 個停車位,每次最多可選擇停入 3 輛車,停進最後一輛車者勝」這個遊戲 來示範倒推法的推算方式:
    1. 當剩餘的停車位是 1 時,勝負已分曉,輪到下一步的人勝,因為他可以停進剩下的最後 1 部車,所以 1 是輸點。
    2. 當剩餘的停車位是 2 時,勝負已分曉,輪到下一步的人勝,因為他可以停進剩下的最後 2 部車,所以 2 是輸點。
    3. 當剩餘的停車位是 3 時,勝負已分曉,輪到下一步的人勝,因為他可以停進剩下的最後 3 部車,所以 3 是輸點。
    4. 當剩餘的停車位是 4 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點,讓我們獲勝, 所以 4 是勝點。
    5. 當剩餘的停車位是 5 時,輪到下一步的人只要選取 1 就可搶佔勝點 4 (使得剩餘的停車位成為 4 )而得勝, 所以 5 是輸點。
    6. 當剩餘的停車位是 6 時,輪到下一步的人只要選取 2 就可搶佔勝點 4 而得勝,所以 6 是輸點。
    7. 當剩餘的停車位是 7 時,輪到下一步的人只要選取 3 就可搶佔勝點 4 而得勝,所以 7 是輸點。
    8. 當剩餘的停車位是 8 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點,讓我們獲勝, 所以 8 是勝點。
    9. 當剩餘的停車位是 9 時,輪到下一步的人只要選取 1 就可搶佔勝點 8 而得勝,所以 9 是輸點。
    10. 當剩餘的停車位是 10 時,輪到下一步的人只要選取 2 就可搶佔勝點 8 而得勝,所以 10 是輸點。
    11. 當剩餘的停車位是 11 時,輪到下一步的人只要選取 3 就可搶佔勝點 8 而得勝,所以 11 是輸點。
    12. 當剩餘的停車位是 12 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點,讓我們獲勝, 所以 12 是勝點。
    13. 當剩餘的停車位是 13 時,輪到下一步的人只要選取 1 就可搶佔勝點 12 而得勝,所以 13 是輸點。
    14. 當剩餘的停車位是 14 時,輪到下一步的人只要選取 1 就可搶佔勝點 12 而得勝,所以 14 是輸點。
    15. 當剩餘的停車位是 15 時,輪到下一步的人只要選取 1 就可搶佔勝點 12 而得勝,所以 15 是輸點。
    16. 當剩餘的停車位是 16 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點,讓我們獲勝, 所以 16 是勝點。
    17. ............................
    18. 由以上推演,我們很容易的可以發現:勝點就是 4、8、12、16、20........。也就是說:本遊戲先手的人必勝, 他只要先選取 2,搶佔了勝點 28,就勝定了。
  • 以下再用「由一號玩家開始,共 30 個停車位,每次最多可選擇停入 3 輛車,停進最後一輛車者輸」這個遊戲 來示範倒推法的推算方式:
    1. 當剩餘的停車位是 1 時,勝負已分曉,輪到下一步的人輸,因為他必須停進剩下的最後 1 部 車,所以 1 是勝點。
    2. 當剩餘的停車位是 2 時,輪到下一步的人可以選擇停進 1 部車搶佔勝點 1 而得勝,所以 2 是輸點。
    3. 當剩餘的停車位是 3 時,輪到下一步的人可以選擇停進 2 部車搶佔勝點 1 而得勝,所以 3 是輸點。
    4. 當剩餘的停車位是 4 時,輪到下一步的人可以選擇停進 3 部車搶佔勝點 1 而得勝,所以 4 是輸點。
    5. 當剩餘的停車位是 5 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點, 讓我們獲勝,所以 5 是勝點。
    6. 當剩餘的停車位是 6 時,輪到下一步的人可以選擇停進 1 部車搶佔勝點 5 而得勝,所以 6 是輸點。
    7. 當剩餘的停車位是 7 時,輪到下一步的人可以選擇停進 2 部車搶佔勝點 5 而得勝,所以 7 是輸點。
    8. 當剩餘的停車位是 8 時,輪到下一步的人可以選擇停進 3 部車搶佔勝點 5 而得勝,所以 8 是輸點。
    9. 當剩餘的停車位是 9 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點, 讓我們獲勝,所以 9 是勝點。
    10. 當剩餘的停車位是 10 時,輪到下一步的人可以選擇停進 1 部車搶佔勝點 9 而得勝,所以 10 是輸點。
    11. 當剩餘的停車位是 11 時,輪到下一步的人可以選擇停進 2 部車搶佔勝點 9 而得勝,所以 11 是輸點。
    12. 當剩餘的停車位是 12 時,輪到下一步的人可以選擇停進 3 部車搶佔勝點 9 而得勝,所以 12 是輸點。
    13. 當剩餘的停車位是 13 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點, 讓我們獲勝,所以 13 是勝點。
    14. 當剩餘的停車位是 14 時,輪到下一步的人可以選擇停進 1 部車搶佔勝點 13 而得勝,所以 14 是輸點。
    15. 當剩餘的停車位是 15 時,輪到下一步的人可以選擇停進 2 部車搶佔勝點 13 而得勝,所以 15 是輸點。
    16. 當剩餘的停車位是 16 時,輪到下一步的人可以選擇停進 3 部車搶佔勝點 13 而得勝,所以 16 是輸點。
    17. 當剩餘的停車位是 17 時,輪到下一步的人不管選擇停進多少部車,都只能佔到輸點, 讓我們獲勝,所以 17 是勝點。
    18. ............................
    19. 由以上推演,我們很容易的可以發現:勝點就是 5、9、13、17、21........。也就是說:本遊戲先手的人必勝, 他只要先選取 1,搶佔了勝點 29,就勝定了。
餘數法
  • 由倒推法,我們可以看出:勝點之間是有著一個固定的差數(下面就稱此數為公差),那就是 ( 1 + 可選停車數 )。
  • 雖然對於任意的設定我們全都可以用倒推法來推算出最大的勝點,從而決定要停進停車場的車子數,但有時確實 是蠻辛苦的。
  • 既然勝點間有固定公差的事實,那有沒有簡單的算法可以求出最佳的選擇呢?當然有!只要利用簡單的除法就搞定了?
  • 在往下介紹前先要認識一個符號 mod, 這表示除法的餘數。例:
    1. 因為 30 ÷ 4 = 7 .... 2, 所以 30 mod 4 = 2
    2. 因為 40 ÷ 4 = 10 .... 0, 所以 40 mod 4 = 0
    3. 因為 50 ÷ 6 = 8 .... 2, 所以 50 mod 6 = 2
  • 當「停車位共有 s 個,每次最多可選擇停入 n 輛車,停進最後一輛車者勝」時:
    1. 因為勝點就是 ( 1 + n ),所以第一手的最佳選擇就是 s mod ( 1 + n ) 。
    2. 如果 s mod ( 1 + n ) = 0 表示對方已搶佔了勝點,隨便選個數等待機會吧。
    3. 例如:當「停車位剩下 30 個,每次最多可選擇停入 3 輛車,停進最後一輛車者勝」時,輪到停車的人只要 選擇 30 mod ( 1+ 3) = 30 mod 4 = 2 , 就可搶佔勝點 28,並進而搶佔勝點 24、20、16、12、8、4,然後 停進後一部車而得勝了。
    4. 再如:當「停車位剩下 34 個,每次最多可選擇停入 5 輛車,停進最後一輛車者勝」時,輪到停車的人只要 選擇 34 mod ( 1+ 5) = 34 mod 6 = 4 , 就可搶佔勝點 30,並進而搶佔勝點 24、18、12、6,然後 停進後一部車而得勝了。
  • 當「停車位共有 s 個,每次最多可選擇停入 n 輛車,停進最後一輛車者輸」時:
    1. 因為勝點就是 ( 1 + n ) + 1,所以第一手的最佳選擇就是 ( s - 1 ) mod ( 1 + n ) 。
    2. 如果 ( s - 1 ) mod ( 1 + n ) = 0 表示對方已搶佔了勝點,隨便選個數等待機會吧。
    3. 例如:當「停車位剩下 30 個,每次最多可選擇停入 3 輛車,停進最後一輛車者輸」時,輪到停車的人只要 選擇 ( 30 - 1 ) mod ( 1 + 3) = 29 mod 4 = 1 , 就可搶佔勝點 29,並進而搶佔勝點 25、21、17、13、9、5、1,然後 迫使對手停進後一部車而得勝了。
    4. 再如:當「停車位剩下 34 個,每次最多可選擇停入 5 輛車,停進最後一輛車者輸」時,輪到停車的人只要 選擇 ( 34 - 1 ) mod ( 1 + 5) = 33 mod 6 = 3 , 就可搶佔勝點 31,並進而搶佔勝點 25、19、13、7、1,然後 迫使對手停進後一部車而得勝了。
搶佔勝點之後的中途戰法
  • 雖然我們可以用倒推法、餘數法等方法將勝點或最佳應手求出,但是如果在遊戲的過程中要不斷的去推算, 也是一件十分煩人的工作,所以當我們已搶佔到勝點之後,如何因應對手的選數,就成了一個很重要的問題了。
  • 再回頭來觀察「停車位剩下 28 個,每次最多可選擇停入 3 輛車,停進最後一輛車者勝」這個遊戲 吧!我們已搶佔 28 這個勝點,要如何才能搶佔下一個勝點 24 呢?
    1. 當對方選取 1,剩餘的停車位為 27,我們只要選取 3 即可搶佔勝點 24 了。
    2. 當對方選取 2,剩餘的停車位為 26,我們只要選取 2 即可搶佔勝點 24 了。
    3. 當對方選取 3,剩餘的停車位為 25,我們只要選取 1 即可搶佔勝點 24 了。
    接下來,要如何才能搶佔下一個勝點 20 呢?
    1. 當對方選取 1,剩餘的停車位為 23,我們只要選取 3 即可搶佔勝點 20 了。
    2. 當對方選取 2,剩餘的停車位為 22,我們只要選取 2 即可搶佔勝點 20 了。
    3. 當對方選取 3,剩餘的停車位為 21,我們只要選取 1 即可搶佔勝點 20 了。
  • 發現了嗎?原來 :
    ( 1 + 可選停車數 ) - 對方選取的數字 = 自己所要選取的數字 =
    所以只有第一步需要推算,然後就可笑納勝利了。
  • 當遊戲的勝負判定的方式改變時,最佳的中途戰法是否有變化呢?
    以下用「停車位剩下 29 個,每次最多可選擇停入 3 輛車,停進最後一輛車者輸」這個遊戲 來觀察,現在我們已搶佔 29 這個勝點,要如何才能搶佔下一個勝點 25 呢?因為 ( 1 + 可選停車數 ) = 4
    1. 當對方選取 1,我們只要選取 ( 4 - 1 ) = 3 即可搶佔勝點 25 了。
    2. 當對方選取 2,我們只要選取 ( 4 - 2 ) = 2 即可搶佔勝點 25 了。
    3. 當對方選取 3,我們只要選取 ( 4 - 3 ) = 1 即可搶佔勝點 25 了。
    哇!太好了!中途戰法仍是一樣,不必因遊戲的勝負判定的方式改變,而有不同的對應方式。
  • 現在你對本遊戲應該已可得心應手了,先找電腦練一下劍,然後找一個平時很會逞聰明的死對頭, 好好的修理他一下,但可不要學藝不精,要修理人時卻反被修理了哦!
 
 
 
本網頁建置日期:91.11.27 | 最近更新日期:91.11.27  | 回上頁 | 回首頁 |