#615. [26届信息素养复赛模拟] 借阅排行榜
[26届信息素养复赛模拟] 借阅排行榜
题目背景
小赵是学校图书馆的管理员,他想要创建一个图书借阅排行榜,以鼓励学生们多读书。他希望程序能够根据学生的借阅次数来排名,并显示借阅最多的前几名学生。
题目描述
编写一个程序,输入学生的借阅记录。程序应能够根据借阅次数对学生进行排名,并输出借阅次数最多的前 名学生名单。
输入格式
输入一个正整数 (),表示借阅记录的数量(不同的记录中不会出现相同的学生姓名)。
接下来 行,每行输入一个学生姓名和一个整数 (),代表该学生的借阅次数。
输入一个正整数 (),表示想要输出的排名数量。
输出格式
输出前 名学生的姓名和借阅次数,按借阅次数从多到少排序(如果不同的人借阅的书籍数量一致,按输入的先后顺序输出)。
样例
8
John 5
Tom 6
Anna 3
Emma 7
Lucy 2
Mike 4
Monica 5
Wendy 8
3
Wendy 8
Emma 7
Tom 6
8
John 5
Tom 7
Anna 3
Emma 7
Lucy 2
Mike 4
Monica 5
Wendy 8
3
Wendy 8
Tom 7
Emma 7
样例解释
对于第 组样例:,读入 名学生及借阅次数。,需要输出借阅次数最多的前 名学生。根据规则,借阅次数从高到低依次为 Wendy( 次)、Emma( 次)、Tom( 次),并按顺序输出。
对于第 组样例:借阅次数与第 组相比,Tom 的借阅次数变为 。由于 Tom 与 Emma 借阅次数同为 ,此时按输入先后顺序,Tom 先于 Emma 输入,因此在排序结果中 Tom 排在 Emma 之前。输出前 名依次为 Wendy、Tom、Emma。
数据范围
| 子任务 | 分值 | 数据范围 | 特殊性质 |
|---|---|---|---|
| 无 | |||