下沉的船
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
身份优先级: woman = child > man > captain.
多组数据(少于组),每一组有一个整数(,代表船上有个人,接下来行,每行有一个名字和他的身份。名字字符长度小于。数据保证不存在重名,注意可能存在多名船长
Output
输出n行,每一行输出一个名字,先上船的名字在前面。
Example Input
6 Jack captain Alice woman Charlie man Teddy woman Bob child Julia woman
Example Output
Alice Teddy Bob Julia Charlie Jack
Hint
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner p = new Scanner(System.in);
while(p.hasNext()){
int t = p.nextInt() ;
String[] wc = new String[110] ;
int num1 = 0 ;
String[] mn = new String[110] ;
int num2 = 0 ;
String[] cp = new String[110] ;
int num3 = 0 ;
for(int i=0;i<t;i++){
String str = p.next() ;
String str2 = p.next() ;
if(str2.equals("woman")||str2.equals("child")){
wc[num1++] = str ;
}
if(str2.equals("man")){
mn[num2++] = str ;
}
if(str2.equals("captain")){
cp[num3++] = str ;
}
}
/*
* 下面不能用wc.length mn.length cp.length ,要直接用num1,num2,num3 这三个,不然会出现null.
* */
for(int i=0;i<num1;i++){
System.out.println(wc[i]);
}
for(int i=0;i<num2;i++){
System.out.println(mn[i]);
}
for(int i=0;i<num3;i++){
System.out.println(cp[i]);
}
}
}
}