c045: P113 棒球遊戲(105年10月APCS試題)
Tags : Python
Accepted rate : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-12-09 10:21

Content

謙謙最近迷上棒球,他想自己寫一個簡化的棒球遊戲計分程式。這個程式會讀入球隊中每位球員的打擊結果,然後計算出球隊的得分。

這是個簡化版的模擬,假設擊球員的打擊結果只有以下情況:

(1) 安打:以1B, 2B, 3B 和HR 分別代表一壘打、二壘打、三壘打和全(四)壘打。

(2) 出局:以 FO, GO, 和SO 表示。

這個簡化版的規則如下:

(1) 球場上有四個壘包,稱為本壘、一壘、二壘和三壘。

(2) 站在本壘握著球棒打球的稱為「擊球員」,站在另外三個壘包的稱為「跑壘員」。

(3) 當擊球員的打擊結果為「安打」時,場上球員(擊球員與跑壘員)可以移動;結果為「出局」時,跑壘員不動,擊球員離場,換下一位擊球員。

(4) 球隊總共有九位球員,依序排列。比賽開始由第1位開始打擊,當第i 位球員打擊完畢後,由第(i+1) 位球員擔任擊球員。當第九位球員完畢後,則輪回第一位球員。

(5) 當打出 K 壘打時,場上球員(擊球員和跑壘員)會前進K 個壘包。從本壘前進一個壘包會移動到一壘,接著是二壘、三壘,最後回到本壘。

(6) 每位球員回到本壘時可得1分。

(7) 每達到三個出局數時,一、二和三壘就會清空(跑壘員都得離開),重新開始。

現在請你也寫出具備這樣功能的程式,計算球隊的總得分。

 

輸入格式

1. 每組測試資料固定有十行。

2. 第一到九行,依照球員順序,每一行代表一位球員的打擊資訊。每一行開始有一個正整數 a (1 ≤ a ≤ 5),代表球員總共打了 a 次。接下來有 a 個字串(均為兩個字元),依序代表每次打擊的結果。資料之間均以一個空白字元隔開。球員的打擊資訊不會有錯誤也不會缺漏。

3. 第十行有一個正整數 b (1 ≤ b ≤ 27),表示我們想要計算當總出局數累計到 b 時,該球隊的得分。輸入的打擊資訊中至少包含b個出局。

輸出格式

計算在總計第b個出局數發生時的總得分,並將此得分輸出於一行。

 

先假設3人出局,結束一局,且每人打擊完就顯示目前得分、與壘包狀態

Input
Output
Sample Input #1


											
										
Sample Output #1
1B,出局數:0
得分:0
1B,出局數:0
得分:0
SO,出局數:1
得分:0
FO,出局數:2
得分:0
1B,出局數:2
得分:0
GO,out: 3
出局數:3
得分:0
1B,出局數:3
得分:0
SO,出局數:4
得分:0
3B,出局數:4
得分:1

1B,出局數:4
得分:2
2B,出局數:4
得分:2
HR,出局數:4
得分:5
FO,出局數:5
得分:5
1B,出局數:5
得分:5
GO,out: 6
5
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
Hint :
Tags:
Python
出處:
[管理者: zero(育達管理員) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」