1072. 排名

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

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

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

  • AA 科目 aa 7070 分, 科目 bb 8080 分, 科目 cc 9090 分;
  • BB 科目 aa 8080 分, 科目 bb 9090 分, 科目 cc 7070 分;
  • CC 科目 aa 8080 分, 科目 bb 7070 分, 科目 cc 9090 分;
  • DD 科目 aa 7070 分, 科目 bb 7070 分, 科目 cc 7070 分。

由于 DD 总分为 210210A,B,CA,B,C 均为 240240,所以 DD 排最后。由于科目 aa 的排名 AAB,CB,C 低,所以 AA 排第三。由于 BBCC 科目 aa 排名相同,所以继续使用科目 bb 成绩判定,因为 BB 的科目 bb 成绩高于 CC,所以 CC 排第二,BB 排第一。最终排名(从第一名到最后一名)为 B,C,A,DB,C,A,D

输入

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

接下来输入 nn 行,每行首先输入第 iiii11 递增,1in1 \leq i \leq n)个学生的名称 ss(字符长度 1s101 \leq s \leq 10,仅包含英文小写字母和数字),接着输入 mm 个数据,依次代表各个科目的成绩 t (0t100)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
提交 470
通过 201