SZC2026#915. 生日

提交0 通过0
通过率0%
时间限制1000ms
内存限制256MiB

题目描述

题目背景

学校的信息学小组整理了一份生日登记表,希望根据出生日期排出年龄顺序。请编写程序完成这项工作。

题目描述

给出 nn 名同学的姓名和出生年、月、日。年龄较大的同学应当排在前面,也就是说,出生日期较早的人优先输出。

比较两人的出生日期时,依次比较年份、月份和日期:

  1. 出生年份较小者年龄更大;
  2. 年份相同时,出生月份较小者年龄更大;
  3. 年、月相同时,出生日较小者年龄更大;
  4. 如果两人的出生日期完全相同,则在输入中出现得更晚的人先输出。

输入格式

第一行一个整数 nn,表示同学人数。

接下来 nn 行,每行包含四项信息:

name year month day

其中 name 是不含空格的姓名,yearmonthday 分别表示出生年、月、日。

输出格式

输出 nn 行,每行一个姓名,顺序为年龄从大到小。

数据范围与约定

  • 1n1001\le n\le 100
  • 输入中的日期均为合法日期;
  • 姓名不包含空格;
  • 同一天出生的同学按照输入顺序的逆序输出。

样例输入

5
Alice 2000 1 2
Bob 1999 12 31
Carol 2000 1 2
Dave 2001 5 6
Eve 1999 12 31

样例输出

Eve
Bob
Carol
Alice
Dave

样例说明

BobEve 的生日相同,但 Eve 输入得更晚,因此先输出。AliceCarol 同理。