芽芽喜歡看棒球,最近學了 python 之後,想用 python 來進行棒球相關的數據分析。
當打者站上打擊區打擊時,若沒有發生特殊狀況,(如:保送、犧牲打等),則記為一個打數 (AB)
每個打數 (AB) 可能會有以下幾種結果:
名稱 | 縮寫 | 說明 |
---|---|---|
一壘安打 | 1B | 打者安全抵達一壘 |
二壘安打 | 2B | 打者安全抵達二壘 |
三壘安打 | 3B | 打者安全抵達三壘 |
全壘打 | HR | 打者繞壘並得分 |
滾地出局 | GO | 打者擊出滾地球,被守備方刺殺出局 |
飛球出局 | FO | 打者擊出飛球,在落地前被接殺 |
平飛球出局 | LO | 打者擊出低飛球,被守備方接殺 |
內野高飛球出局 | PO | 打者擊出高飛球,被內野手接殺 |
三振 | K | 打者被投手三振 |
野手選擇 | FC | 打者雖然安全上壘,但守備方選擇抓另一名跑者 |
守備失誤上壘 | ROE | 打者因守備方失誤而安全上壘 |
芽芽想要研究各打者的長打率 (SLG),計算方法為:
$$\text{SLG} = \frac{\text{總壘數}}{\text{打數}} = \frac{1 \times \text{1B} + 2 \times \text{2B} + 3 \times \text{3B} + 4 \times \text{HR}}{\text{AB}}$$
芽芽已經蒐集好各個打者的打數與結果,但他發現自己好像太久沒寫 python,很多內容都忘光了。請運用在資芽學到的內容,幫助芽芽找出長打率最高的三位打者。
第一行有一個數 N ,代表共有 N 個打數。
接下來的 N 行,每行有兩個字串 s1, s2 , 代表 s1 在一個打數中達成的結果為 s2
輸出三行,依序為長打率前三高的打者。若長打率相同則依照名字首次出現的順序排序。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~4 | 3 ≤ N ≤ 10 ,每位打者的打數相同 (20 %) | 20 |
2 | 5~9 | 3 ≤ N ≤ 10 (20 %) | 20 |
3 | 10~14 | 10 ≤ N ≤ 100 (20 %) | 20 |
4 | 15~19 | 100 ≤ N ≤ 1000 (20 %) | 20 |
5 | 20~24 | 1000 ≤ N ≤ 2000 (20 %) | 20 |