成绩排序
C++ GESP真题 五级 2024.3 #1
EXY-PG-0138
时间限制:1s 内存限制:512MB

题目描述

有 $N$ 名同学,每名同学有语文、数学、英语三科成绩,你需要按照如下规则对所有同学的成绩从高到低排序:

  1. 比较总分,高者靠前;
  2. 如果总分相同,则比较语文和数学两科的总分,高者靠前;
  3. 如果仍相同,则比较语文和数学两科的最高分,高者靠前;
  4. 如果仍相同,则二人并列。

你需要输出每位同学的排名,如遇 $x$ 人并列,则他们排名相同,并留空后面的 $x - 1$ 个名次。例如,有 $3$ 名同学并列第 $1$,则后一名同学自动成为第 $4$ 名。

输入格式

第一行一个整数 $N$,表示同学的人数。

接下来 $N$ 行,每行三个非负整数 $c_i, m_i, e_i$ 分别表示该名同学的语文、数学、英语成绩。

保证 $0 \leq c_i, m_i, e_i \leq 150$。

输出格式

输出 $N$ 行,按输入同学的顺序,输出他们的排名。

注意请不要按排名输出同学的序号,而是按同学的顺序输出他们各自的排名

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

样例说明

样例 1
输入:
6
140 140 150
140 149 140
148 141 140
141 148 140
145 145 139
0 0 0
输出:
1
3
4
4
2
6

数据范围

对于 $30\%$ 的测试点, 保证 $N \leq 100$, 且所有同学的总分各不相同 。

对于所有测试点,保证 $2 \leq N \leq 10^4$。