棒球遊戲 (APCS 2016-10 中級)

1.0s 256M

九位球員固定依 \(1,2,\ldots,9,1,2,\ldots\) 的順序打擊。輸入分別記錄每位球員歷次打擊結果,請依實際打擊順序模擬得分。

打出 1B、2B、3B 時,打者及所有壘上跑者分別前進 \(1\)、\(2\)、\(3\) 個壘位;打出 HR 時,打者與所有跑者都回本壘。每位回本壘者得 \(1\) 分。SO、FO、GO 都只增加一個出局數,跑者不移動。每累積三次出局,清空所有壘上跑者,再繼續由下一位球員打擊。起初壘上無人、得分與出局數皆為零。

給定目標出局數 \(b\),求第 \(b\) 次出局發生時的總得分;後續打擊不計入。

輸入格式

輸入固定十行。前九行依球員順序,每行先給他的打擊次數 \(a_i\),再給 \(a_i\) 個依時間排列的打擊結果字串。第十行為 \(b\)。

輸出格式

輸出第 \(b\) 次出局發生時的總得分。

資料範圍

\(1\le a_i\le5\),\(1\le b\le27\)。每個結果為 1B、2B、3B、HR、SO、FO、GO 之一。紀錄符合輪流打擊順序,不會缺漏,且至少包含 \(b\) 次出局。

評分說明

  • 20 分:打擊結果只有 HR 與 SO.
  • 20 分:安打只有 1B,且 \(b=3\).
  • 20 分:\(b=3\).
  • 40 分:無額外限制.

每筆計分測資各為 5 分。

範例輸入 1

5 1B 1B FO GO 1B
5 1B 2B FO FO SO
4 SO HR SO 1B
4 FO FO FO HR
4 1B 1B 1B 1B
4 GO GO 3B GO
4 1B GO GO SO
4 SO GO 2B 2B
4 3B GO GO FO
3

範例輸出 1

0

範例輸入 2

5 1B 1B FO GO 1B
5 1B 2B FO FO SO
4 SO HR SO 1B
4 FO FO FO HR
4 1B 1B 1B 1B
4 GO GO 3B GO
4 1B GO GO SO
4 SO GO 2B 2B
4 3B GO GO FO
6

範例輸出 2

5

題目來源

APCS 2016 年 10 月實作題第 4 題。

題敘參考 ZeroJudge c297「棒球遊戲」 整理,細節可能與正式試題有出入。

題目頁說明

快速鍵

主要功能

  • 範例測試 — 執行題目附帶的範例測資並自動比對預期輸出。
  • 自訂測試 — 自己貼 stdin 執行程式。可勾選「與預期輸出比對 (diff)」做行對行比對。
  • 模板 — 貼上你在個人資料設定的預設程式碼模板。
  • 協作 — 與其他同學共筆編輯這題的程式碼。
  • 自動草稿 — 編輯器內容每 1.5 秒自動存到瀏覽器(per 帳號 / 題目 / 語言)。
  • 提交 — 把程式碼交給 judge 評測,回傳 AC / WA / TLE 等結果。

限制

  • 程式碼最多 65,536 字元
  • 自訂測試 stdin 與預期輸出各最多 1 MB (約 100 萬字元)
  • 自訂測試與範例測試共用一個沙箱,每人約 3 秒 1 次 (範例測試 1 秒 1 次)
  • 自訂測試與範例測試都有 15 秒 牆鐘上限(正式評測仍依題目原本時限)
  • 互動題不提供自訂測試(無法模擬與 judge 互動)。
  • 提交評測本身沒有 rate limit,但同題短時間內多次提交會被視為刷分。