题目1187:最小年龄的3个职工
2014-02-11 22:02
309 查看
import java.io.IOException; import java.io.FileReader; import java.io.InputStreamReader; import java.util.Scanner; import java.lang.Comparable; import java.util.PriorityQueue; import java.lang.Math; class Worker implements Comparable<Worker> { public Worker(int id, String name, int age) { this.id = id; this.name = name; this.age = age; } public int compareTo(Worker other) { if (age != other.age) return age - other.age; if (id != other.id) return id - other.id; return name.compareTo(other.name); } public int id, age; public String name; } class Main { public static final boolean DEBUG = false; public static void main(String[] args) throws IOException { Scanner cin; int n; if (DEBUG) { cin = new Scanner(new FileReader("d:\\OJ\\uva_in.txt")); } else { cin = new Scanner(new InputStreamReader(System.in)); } while (cin.hasNext()) { n = cin.nextInt(); PriorityQueue<Worker> pq = new PriorityQueue<Worker>(); Worker tmp; String name; int age, id; for (int i = 0; i < n; i++) { id = cin.nextInt(); name = cin.next(); age = cin.nextInt(); tmp = new Worker(id, name, age); pq.offer(tmp); } int min = Math.min(n, 3); for (int i = 0; i < min; i++) { tmp = pq.poll(); System.out.println(tmp.id + " " + tmp.name + " " + tmp.age); } } } }
相关文章推荐
- 【九度】题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 【九度OJ】题目1187:最小年龄的3个职工 解题报告
- 题目1187:最小年龄的3个职工
- 九度OJ 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 题目1187:最小年龄的3个职工
- 1187 最小年龄的3个职工
- 九度OJ 1187:最小年龄的3个职工 (排序)
- 九度OJ 1187:最小年龄的3个职工 (排序)
- 【九度OJ】1187:最小年龄的3个职工
- C++编程题-职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 最小年龄的3个职工
- 【慢慢学算法】:最小年龄的3个职工(sort对结构体的多级排序)
- 最小年龄的3个职工
- 华科机考:最小年龄的3个职工
- 职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来
- 最小年龄的3个职工
- 最小年龄的3个职工(解题报告)