SDUT-oj 下沉的船

下沉的船

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]);
			}
		}
	}
}
                                                                                      


猜你喜欢

转载自blog.csdn.net/Ameir_yang/article/details/78596698
今日推荐