华为OD机试E卷|智能成绩表
0、关于本专栏 & 刷题交流群
本文收录于专栏【2024华为OD机试真题】,专栏共有上千道OD机试真题,包含详细解答思路、与四种代码实现(Python、Java、C++、JavaScript)。
点击文末链接加入【华为OD机试交流群】,和群友一起刷题备考。刷的越多,考试中遇到原题的概率就越大,永久、实时更新新题目。
1、题目详情
问题描述
小明来到学校当老师, 需要将学生按考试总分或单科分数进行排名, 你能帮帮他吗?
输入格式
- 第 1 行输入两个整数, 学生人数 n 和科目数量 m
- 0 < n < 100
- 0 < m < 10
- 第 2 行输入 m 个科目名称, 彼此之间用空格隔开
- 科目名称只由英文字母构成, 单个长度不超过10个字符
- 科目的出现顺序和后续输入的学生成绩一一对应
- 不会出现重复的科目名称
- 第 3 行开始的 n 行, 每行包含一个学生的姓名和该生 m 个科目的成绩 (空格隔开)
- 学生不会重名
- 学生姓名只由英文字母构成, 长度不超过10个字符
- 成绩是0~100的整数, 依次对应第2行种输入的科目
- 第n+2行, 输入用作排名的科目名称. 若科目不存在, 则按总分进行排序
输出格式
输出一行, 按成绩排序后的学生名字, 空格隔开. 成绩相同的按照学生姓名字典顺序排序.
示例输入1
3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 98
minmin 100 82
shuxue
示例输出1
xiaohua fangfang minmin
示例输入2
3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 95
minmin 90 95
zongfen
示例输出2
fangfang minmin xiaohua