題目連結(jié):
題目大意:
輸入第一列給定一正整數(shù) N (1 ≦ N ≦ 2000),代表婷婷借了 N 本書。接著有 N 列輸入,每列給定兩正整數(shù) S 、 D (1 ≦ S ≦ 2000,1 ≦ D ≦ 10000),代表每本書的編號(hào)(保證每本書編號(hào)相異)以及已借閱天數(shù)。
圖書館規(guī)定:每本書借閱期限為 100 天。每逾一日,每本罰款五元。
請(qǐng)找出婷婷借閱的書中,所有超過借閱期限的書籍之編號(hào)以及總罰款。第一列由小到大輸出所有逾時(shí)的書籍之編號(hào)、第二列則輸出一整數(shù)代表總罰款。如果沒有任何書逾時(shí),則輸出一列的「0」即可。
範(fàn)例輸入:
範(fàn)例輸入 #1
1
44 98
範(fàn)例輸入 #2
3
30 45
12 151
23 122
範(fàn)例輸入 #3
5
40 21
83 182
15 102
51 203
90 88
範(fàn)例輸出:
範(fàn)例輸出 #1
0
範(fàn)例輸出 #2
12 23
365
範(fàn)例輸出 #3
15 51 83
935
解題思維:
定義一陣列 T 以及一變數(shù) M (M 的初始值為 0),用來儲(chǔ)存所有逾時(shí)的書籍編號(hào)以及總罰款金額。
對(duì)於每個(gè) S 、 D 之輸入,判斷 D 是否 > 100。如果是,則代表編號(hào) S 之書籍已經(jīng)超時(shí),所以將編號(hào) S 存入 T 內(nèi)。然後將 M 加上 (D - 100) × 5 ,代表該書之罰金。
每本書都掃過之後,將 T 由小到大排序即可得所求輸出第一列的書籍編號(hào),而第二列的金額即是此時(shí)的 M 值。當(dāng) T 為空(也可以換成 M 為 0),即代表著沒有任何書逾時(shí)借閱,因此輸出一個(gè)「0」即可。
此次分享到此為止,如有任何更加簡(jiǎn)潔的想法或是有說明不清楚之地方,也煩請(qǐng)各位大大撥冗討論。