编程题:h258. 排序
n 个小朋友在玩游戏,编号依次为 1∼n。
每个小朋友都有一个身份,为 rat(老鼠)、woman(女人)、child(孩子)、man(男人)、captain(舰长) 之一。
已知,这几种身份的优先级是有区别的:
rat 为第一优先级。
woman 和 child 为第二优先级。
man 为第三优先级。
captain 为第四优先级。
现在,要给小朋友们排序,排序的规则为:
对于不同优先级的小朋友,优先级越靠前(越小)则在队伍中的位置越靠前。
对于同一优先级的小朋友,编号越小则在队伍中的位置越靠前。
请你确定小朋友们的具体排列顺序。
### 输入格式:
第一行包含整数 n。
接下来 n 行,其中第 i 行用来描述编号为 i 的小朋友,首先包含一个字符串,表示小朋友的名字,然后包含一个字符串,表示他的身份。
每个小朋友的名字都是一个长度范围在 [1,10] 的由英文字母构成的字符串,其中首字母大写,其余小写。
小朋友的名字两两不同。
表示身份的字符串一定是 rat、woman、child、man、captain 之一。
### 输出格式:
共 n(1≤n≤100 )行,其中第 i 行输出排在队伍中第 i 位的小朋友的名字。
### 输入样例:
in
2
Jack captain
Alice woman
### 输出样例:
out
Alice
Jack
答案:若无答案欢迎评论
每个小朋友都有一个身份,为 rat(老鼠)、woman(女人)、child(孩子)、man(男人)、captain(舰长) 之一。
已知,这几种身份的优先级是有区别的:
rat 为第一优先级。
woman 和 child 为第二优先级。
man 为第三优先级。
captain 为第四优先级。
现在,要给小朋友们排序,排序的规则为:
对于不同优先级的小朋友,优先级越靠前(越小)则在队伍中的位置越靠前。
对于同一优先级的小朋友,编号越小则在队伍中的位置越靠前。
请你确定小朋友们的具体排列顺序。
### 输入格式:
第一行包含整数 n。
接下来 n 行,其中第 i 行用来描述编号为 i 的小朋友,首先包含一个字符串,表示小朋友的名字,然后包含一个字符串,表示他的身份。
每个小朋友的名字都是一个长度范围在 [1,10] 的由英文字母构成的字符串,其中首字母大写,其余小写。
小朋友的名字两两不同。
表示身份的字符串一定是 rat、woman、child、man、captain 之一。
### 输出格式:
共 n(1≤n≤100 )行,其中第 i 行输出排在队伍中第 i 位的小朋友的名字。
### 输入样例:
in
2
Jack captain
Alice woman
### 输出样例:
out
Alice
Jack
答案:若无答案欢迎评论