CF63A.Sinking Ship

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Sinking Ship

题目描述

船撞上了礁石,正在下沉。现在,全体船员必须被撤离。所有 nn 名船员已经在一排站好(为方便起见,我们将他们从左到右分别用 11nn 的正整数编号),等待进一步指示。然而,撤离船员必须按照严格顺序进行。具体来说:

首先离船的是老鼠。然后是妇女和儿童(这两组有相同的优先级)。在那之后,所有男性才能撤离船只。最后一个离开沉船的是船长。

若对于任意两个船员,按照以上规则不能确定到底谁先离船,则排在左边(即编号更小)的人先离船。

对于每个船员,我们都知道他的身份和姓名。所有船员的姓名均不相同。请确定船员撤离的顺序。

输入格式

第一行包含整数 nn,表示船员人数(1n1001 \leq n \leq 100)。接下来有 nn 行。第 ii 行包括两个单词——第 ii 位排队船员的姓名和他在船上的身份,单词间用一个空格隔开,且每行没有其他空格。姓名由拉丁字母组成,首字母大写,其余为小写,姓名长度 111010 字符。身份有以下几种取值:rat(老鼠)、woman(妇女)、child(儿童)、man(男性)、captain(船长)。全体成员中恰好有一人是船长。

输出格式

输出 nn 行。第 ii 行应为第 ii 个离船的船员姓名。

说明/提示

由 ChatGPT 5 翻译

样例

6
Jack captain
Alice woman
Charlie man
Teddy rat
Bob child
Julia woman
Teddy
Alice
Bob
Julia
Charlie
Jack

在线编程 IDE

建议全屏模式获得最佳体验