題目連結:
題目大意:
輸入前五列,每列給定五個正整數(只會是 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。當碰到沒有被喊過的數字時,就試著放放看數字看會使版面變成幾條連線,越多越好。然後看哪個數字可以得到最多連線,該數字即是所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。