Problem Description
身份优先级: woman = child > man > captain.
多组数据(少于组),每一组有一个整数(,代表船上有个人,接下来行,每行有一个名字和他的身份。名字字符长度小于。数据保证不存在重名,注意可能存在多名船长
Output
输出n行,每一行输出一个名字,先上船的名字在前面。
Sample Input
6 Jack captain Alice woman Charlie man Teddy woman Bob child Julia woman
Sample Output
Alice Teddy Bob Julia Charlie Jack
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner reader = new Scanner(System.in);
while(reader.hasNext()) {
int n = reader.nextInt();
List<String> l1 = new ArrayList<String>();
List<String> l2 = new ArrayList<String>();
List<String> l3 = new ArrayList<String>();
for(int i=1; i<=n; i++) {
String s1 = reader.next();
String s2 = reader.next();
if("woman".equals(s2)||"child".equals(s2)){
l1.add(s1);
}
if("man".equals(s2)) {
l2.add(s1);
}
if("captain".equals(s2)) {
l3.add(s1);
}
}
for(String i:l1) {
System.out.println(i);
}
for(String i:l2) {
System.out.println(i);
}
for(String i:l3) {
System.out.println(i);
}
}
}
}