华为OD机试 E卷|智能成绩表

algorithm-geek / 2025-02-21 / 原文

华为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

详细解题思路、及代码实现可以订阅我的CSDN专栏:最最最新华为OD机试真题