182. 华为OD-智能成绩表(100分)

难度 4
  • 标签:
  • 华为OD真题100分题型
题目描述
题解
题库

华为OD-智能成绩表(100分)

题目描述

小红来到学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗?

输入描述

第 1 行输入两个整数,学生人数 nn 和科目数量 mm。(0<n<100,0<m<100 < n < 100, 0 < m < 10

第 2 行输入 mm 个科目名称,彼此之间用空格隔开。科目名称只由英文字母构成,单个长度不超过 10 个字符,科目的出现顺序和后续输入的学生成绩一一对应,不会出现重复的科目名称。

第 3 行开始的 nn 行,每行包含一个学生的姓名和该生 mm 个科目的成绩(空格隔开),学生不会重名。学生的姓名只由英文字母构成,长度不超过 10 个字符。成绩是 00 ~ 100100 的整数,依次对应第 2 行输入的科目。

n+2n+2 行,输入用作排名的科目名称,若科目不存在,则按总分进行排序。

输出描述

输出一行,按成绩排序后的学生名字,空格隔开,成绩相同的按照学生的姓名字典顺序进行排序。

样例1

输入

3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 98
minmin 100 82
shuxue

输出

xiaohua fangfang minmin

说明:按照 shuxue 成绩排名依次是 xiaohua、fangfang、minmin。

样例2

输入

3 2
yuwen shuxue
fangfang 95 90
xiaohua 88 95
minmin 90 95
zongfen

输出

fangfang minmin xiaohua

说明:排序科目不存在,按总分排序,fangfang 和 minmin 总分相同,按姓名的字典序顺序,fangfang 排在前面。