下沉的船
Time Limit: 1000 ms
Memory Limit: 65536 KiB
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
Hint
Source
import java.util.ArrayList;
import java.util.Scanner;
/**
* Created by Dell on 2018/5/18.
*/
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int t = scanner.nextInt();
ArrayList<Person> list1 = new ArrayList<Person>();
ArrayList<Person> list2 = new ArrayList<Person>();
ArrayList<Person> list3 = new ArrayList<Person>();
for(int i=0;i<t;i++){
String name = scanner.next();
String sex = scanner.next();
Person person = new Person(name,sex);
if(sex.equals("woman")||sex.equals("child")){
list1.add(person);
}
else if(sex.equals("man")){
list2.add(person);
}
else if(sex.equals("captain")){
list3.add(person);
}
}
for(Person person:list1){
System.out.println(person.name);
}
for(Person person:list2){
System.out.println(person.name);
}
for(Person person:list3){
System.out.println(person.name);
}
}
}
}
class Person{
String name;
String sex;
Person(String name,String sex){
super();
this.name = name;
this.sex = sex;
}
}