第20791题 程序题
按指定规则对学生成绩排序并按输入顺序输出排名

问题描述

有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

    1
    3
    4
    4
    2
    6

    数据规模

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

编辑模式