#h141. 快递派送顺序

快递派送顺序

h141. 快递派送顺序

题目描述

快递站中有 nn 个待派送包裹。每个包裹都有编号、收件人、优先级、最晚派送日期和重量。

优先级使用 001122 表示,数值越大表示越紧急。最晚派送日期使用一年中的第几天表示。

请按照下面的规则安排派送顺序:

  1. 优先级较高的包裹排在前面;
  2. 优先级相同时,最晚派送日期较早的包裹排在前面;
  3. 前两项都相同时,重量较大的包裹排在前面;
  4. 前三项都相同时,编号较小的包裹排在前面。

建议使用结构体保存每个包裹的信息。

输入格式

第一行输入一个整数 nn,表示包裹数量。

接下来 nn 行,每行输入一个整数 idid、一个字符串 receiverreceiver 和三个整数 priorityprioritydeadlinedeadlineweightweight,分别表示包裹编号、收件人、优先级、最晚派送日期和重量。

收件人只包含英文字母、数字和下划线,且不含空格。所有包裹编号互不相同。

输出格式

输出 nn 行,每行包含包裹编号、收件人、优先级、最晚派送日期和重量,相邻两项之间用一个空格分隔。

包裹应按照题目给出的规则输出。

数据范围

  • 1n10001\le n\le 1000
  • 1id10000000001\le id\le 1000000000
  • 0priority20\le priority\le 2
  • 1deadline3651\le deadline\le 365
  • 1weight10001\le weight\le 1000
  • 收件人长度不超过 3030

样例

5
103 alice 1 3 5
101 bob 2 2 3
105 carol 2 2 8
102 david 1 1 10
104 eric 2 2 8
104 eric 2 2 8
105 carol 2 2 8
101 bob 2 2 3
102 david 1 1 10
103 alice 1 3 5