前往
大廳
主題

ZeroJudge - b548: 4.賓果遊戲 解題心得

Not In My Back Yard | 2020-12-21 00:00:08 | 巴幣 0 | 人氣 333

題目連結:


題目大意:
輸入前五列,每列給定五個正整數(只會是 1 ~ 25 的數字,且每個數字相異),代表自己有一個 5 × 5 的賓果遊戲版面。

接著有若干列輸入(1 ~ 24 列,以一個「-1」作為結尾),每列給定一正整數(同樣也是 1 ~ 25),代表玩家喊的數字。

當先前的數字(即輸入)喊完後輪到了自己,請依據以下規則判斷自己應喊什麼數字:
應該要喊沒有喊過的數字(理所當然),且該數字可以使自己的盤面之連線數最大;
如果有多個候選數字,則挑數字較小的喊。

請根據自己手上的盤面以及前面喊的數字,判斷現在應該要喊什麼數字?



範例輸入:
1 9 23 17 18
10 24 8 16 2
11 13 3 7 19
12 4 15 6 20
25 14 5 22 21
1
17
24
8
16
2
11
3
7
12
25
22
21
-1


範例輸出:
6


解題思維:
單純的模擬題型。可以參考這兩題的作法(這題這題)。

當輸入結束後,可以從數字 1 跑到 25。當碰到沒有被喊過的數字時,就試著放放看數字看會使版面變成幾條連線,越多越好。然後看哪個數字可以得到最多連線,該數字即是所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作