集點紀錄結算
Loyalty Points From Messy Entries・pync-19-01
- Python 程式設計・19 Pythonic Idioms & Style
時間限制 1 秒・記憶體 31 MB
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
題目敘述
便利商店的集點活動由店員用手持機輸入點數,輸入的原始字串可能很雜亂:前後有空白、帶 + 或 - 號、是小數、是中文字,或乾脆是空的。
一筆紀錄若能被當成整數讀入就有效(前後空白可以,正負號可以,負數代表扣回點數);其他格式的紀錄不是 0,而是無效,要另外計數,隔天交給人工確認,不計入點數。
每張會員卡分開結算:把該卡所有有效紀錄的點數相加,得到當日淨點數;若淨點數為負,視為 0。每滿 100 點可換一隻公仔,剩下的點數留到明天。
輸入格式
第一行是紀錄筆數 N。接下來 N 行,每行是會員卡號、一個逗號,然後是手持機儲存的原始欄位(空白原樣保留,也可能是空的)。
輸出格式
依卡號第一次出現的順序,每張卡輸出一行:卡號、換到的公仔數、剩餘點數、需要人工確認的筆數,以一個空白分隔。
範例
範例 1
輸入
6
A1042, 12
A1042,+3
B2071,3.5
A1042,-5
B2071,
B2071, 250輸出
A1042 0 10 0
B2071 2 50 2說明
卡 A1042 的有效紀錄為 12、+3、-5,淨點數 10,無法換公仔。卡 B2071 的 3.5 與空欄位無效,有 2 筆待確認,有效的只有 250 點,換 2 隻公仔,剩 50 點。
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。