小明很喜歡棒球。某天晚上跟媽媽到家裡附近逛夜市,突然發現多了一個棒球九宮格的遊戲攤位(如圖一)。遊戲規則如下:一開始九宮格內會分別擺上一個木板,玩家站在距離九宮格板數公尺外,總共可以丟出九顆球。被命中的格子裡的木板會倒下;若球丟出範圍外,或是剛好丟在九宮格的框架上,則所有格子都會維持原樣。一旦將球丟出去,可用的球數就減少一,直到將九顆球丟完為止。
九顆球都丟完之後,夜市的老闆會根據倒下的格子來檢查連成幾條線,以決定獎品的好壞。依照老闆的規定,只要以下其中一組格子裡的木板同時倒下,則算連成一線:{1,2,3}、{4,5,6}、{7,8,9}、{1,4,7}、{2,5,8}、{3,6,9}。舉例來說,若2、3、5、7、8、9這六個格子中的木板都倒下,則2、5、8連成一線,且7、8、9也連成一線,總共連成兩條線。(請注意,依規則3、5、7不算連成一線。)此外,老闆也會根據丟到的格子號碼,計算"加碼積分",提供額外的獎賞,詳細規則如下:丟到5號得2分,丟到{2、4、6、8}中的任一號碼得5分,丟到{1、3、7、9}中的任一號碼得8分。例如若2、5、8、9這四格被丟中,則加碼積分為20分。請注意,重複丟到的號碼只算一次分數。
請寫一個程式來模擬玩棒球九宮格的遊戲。為了方便貣見,我們將用二維座標來定義九宮格的位置,如圖二所示。每一格都是相同大小的正方形,7號格左下角的座標為(0,0),3號格右上角座標為(30,30)。在模擬的過程中,會提供每一顆球丟在九宮格上的座標位置。為了簡化問題,若某顆球丟在九宮格上的座標位於某一格內,則判斷打到該格;如果座標位於某一格的邊上,則判斷為打到框架,沒有任何格子被打到。舉例來說,假設一顆球丟到座標位置為(7,13)的地方,由於落在4號格之內,判定打到4號格;假設有另一顆球打在(10,2)(或(10,20))的座標位置,則因為落在框架上,沒有任何格子被打到。當然如果座標落在九宮格外的區域,也沒有任何格子被丟中。
輸入範例1: 7 13 10 2 5 8 -9 19 11 35 3 23 18 0 0 18 40 22 輸入範例2: 12 22 15 11 3 20 3 22 33 27 28 28 16 5 22 -5 35 35
輸出範例1: 1 21 輸出範例2: 2 28
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|