1072. 排名

由于某高校的计院太卷了,导致许多学生考试总分相同。为了给出学生的排名,现采用如下方法给学生排名:

  1. 首先按总分从高到低排名;
  2. 假设一共有 m 个科目(依次记作科目 a,科目 b…),对于总分数相同的同学,从科目 a 开始,依次按照各科目的分数高低区分排名,直到能够区分出排名为止。

例如:有三个科目 a,b,c,有 4 个学生 A,B,C,D,分数分别为:

  • A 科目 a 70 分, 科目 b 80 分, 科目 c 90 分;
  • B 科目 a 80 分, 科目 b 90 分, 科目 c 70 分;
  • C 科目 a 80 分, 科目 b 70 分, 科目 c 90 分;
  • D 科目 a 70 分, 科目 b 70 分, 科目 c 70 分。

由于 D 总分为 210A,B,C 均为 240,所以 D 排最后。由于科目 a 的排名 AB,C 低,所以 A 排第三。由于 BC 科目 a 排名相同,所以继续使用科目 b 成绩判定,因为 B 的科目 b 成绩高于 C,所以 C 排第二,B 排第一。最终排名(从第一名到最后一名)为 B,C,A,D

输入

第一行输入两个整数,用空格隔开。第一个整数代表学生数 n \ (1 \leq n \leq 1000),第二个整数代表科目数 m \ (1 \leq m \leq 100)

接下来输入 n 行,每行首先输入第 ii1 递增,1 \leq i \leq n)个学生的名称 s(字符长度 1 \leq s \leq 10,仅包含英文小写字母和数字),接着输入 m 个数据,依次代表各个科目的成绩 t \ (0 \leq t \leq 100)。名称与首个数据以及各个数据间均用一个空格隔开。

数据保证没有任何两个或多个学生的各科目分数完全一致。

输出

从第一名到最后一名依次输出各个学生的名称,每个名称之间用空格隔开。

样例

标准输入 复制文本
4 3
A 70 80 90
B 80 90 70
C 80 70 90
D 70 70 70
标准输出 复制文本
B C A D

来源

lr580

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 463
通过 198