謙謙最近迷上棒球,他想自己寫一個簡化的棒球遊戲計分程式。這個程式會讀入球隊中每位球員的打擊結果,然後計算出球隊的得分。
這是個簡化版的模擬,假設擊球員的打擊結果只有以下情況:
1B
、2B
、3B
和 HR
分別代表一壘打、二壘打、三壘打和全(四)壘打。FO
、GO
和 SO
表示。這個簡化版的規則如下:
請寫出具備這樣功能的程式,計算球隊的總得分。
範例輸出一說明:
1B:一壘有跑壘員。
1B:一、二壘有跑壘員。
SO:一、二壘有跑壘員,一出局。
FO:一、二壘有跑壘員,兩出局。
1B:一、二、三壘有跑壘員,兩出局。
GO:一、二、三壘有跑壘員,三出局。
達到第三個出局數時,一、二、三壘均有跑壘員,但無法得分。因為 $b=3$,代表三個出局就結束比賽,因此得到 $0$ 分。
範例輸出二說明:
接續範例一,達到第三個出局數時未得分,壘上清空。
1B:一壘有跑壘員。
SO:一壘有跑壘員,一出局。
3B:三壘有跑壘員,一出局,得一分。
1B:一壘有跑壘員,一出局,得兩分。
2B:二、三壘有跑壘員,一出局,得兩分。
HR:一出局,得五分。
FO:兩出局,得五分。
1B:一壘有跑壘員,兩出局,得五分。
GO:一壘有跑壘員,三出局,得五分。
因為 $b=6$,代表要計算的是累積六個出局時的得分,因此在前 $3$ 個出局數時得 $0$ 分,第 $4\sim6$ 個出局數得到 $5$ 分,因此總得分是 $0+5=5$ 分。
每組測試資料固定有十行。
第一到九行,依照球員順序,每一行代表一位球員的打擊資訊。每一行開始有一個正整數 $a(1\le a\le5)$,代表球員總共打了 $a$ 次。接下來有 $a$ 個字串(均為兩個字元),依序代表每次打擊的結果。資料之間均以一個空白字元隔開。球員的打擊資訊不會有錯誤也不會缺漏。
第十行有一個正整數 $b(1\le b\le27)$,表示我們想要計算當總出局數累計到 $b$ 時,該球隊的得分。輸入的打擊資訊中至少包含 $b$ 個出局。
計算在總計第 $b$ 個出局數發生時的總得分,並將此得分輸出於一行。
APCS 考古題
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 2~6 | 打擊表現只有 HR 和 SO 兩種 | 20 |
3 | 7~11 | 安打表現只有 1B,而且 b 固定為 3 | 20 |
4 | 12~16 | b 固定為 3 | 20 |
5 | 0~21 | 無額外限制 | 40 |