SDUT 2714 下沉的船(Iterator的使用)

版权声明:iQXQZX https://blog.csdn.net/Cherishlife_/article/details/86592693

下沉的船

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

一艘船很不幸的撞上了暗礁,船长组织大家上救生艇,而且船长决定女人(woman)和小孩(child)先上船,然后其次是男人(man),最后是船长(captain)。给出原来的顺序,通过编程得到按船长要求排列后的顺序。

身份优先级: woman = child > man > captain.

注意:如果两者的身份优先级一样,请按原来的序列的顺序决定,原序列中在前面的人,依然在前面(具体请看样例)
 

Input

 多组数据(少于10组),每一组有一个整数n(0<n<100),代表船上有n个人,接下来n行,每行有一个名字和他的身份。名字字符长度小于10。数据保证不存在重名,注意可能存在多名船长

Output

 输出n行,每一行输出一个名字,先上船的名字在前面。

Sample Input

扫描二维码关注公众号,回复: 5067983 查看本文章
6
Jack captain
Alice woman
Charlie man
Teddy woman
Bob child
Julia woman

Sample Output

Alice
Teddy
Bob
Julia
Charlie
Jack

Hint

关于Iterator:
https://blog.csdn.net/Cherishlife_/article/details/86592718

Source

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int t = in.nextInt();
            List<String> list1 = new ArrayList<String>();
            List<String> list2 = new ArrayList<String>();
            List<String> list3 = new ArrayList<String>();
            while (t-- > 0) {
                String a = in.next();
                String b = in.next();
                if (b.equals("woman") || b.equals("child"))
                    list1.add(a);
                else if (b.equals("man"))
                    list2.add(a);
                else if (b.equals("captain"))
                    list3.add(a);
            }
            Iterator<String> iter1 = list1.iterator();
            while (iter1.hasNext())
                System.out.println(iter1.next());

            Iterator<String> iter2 = list2.iterator();
            while (iter2.hasNext())
                System.out.println(iter2.next());

            Iterator<String> iter3 = list3.iterator();
            while (iter3.hasNext())
                System.out.println(iter3.next());
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Cherishlife_/article/details/86592693