洛谷 P1104 生日
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; public class Main { static int n; static ArrayList<Student> students = new ArrayList<Student>(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); n =Integer.parseInt(st.nextToken()); for(int i = 0;i<n;i++) { Student student = new Student(); st = new StringTokenizer(br.readLine()); student.name = st.nextToken(); student.year = Integer.parseInt(st.nextToken()); student.mouth = Integer.parseInt(st.nextToken()); student.day = Integer.parseInt(st.nextToken()); student.index = i; students.add(student); } Collections.sort(students); for(int i = 0;i<n;i++) { System.out.println(students.get(i).name); } } static class Student implements Comparable<Student>{ String name; int year; int mouth; int day; int index; @Override public int compareTo(Student o) { // TODO Auto-generated method stub if(o.year > this.year) { return -1; }else if(o.year < this.year) { return 1; }else { if(o.mouth>this.mouth) { return -1; }else if(o.mouth < this.mouth) { return 1; }else { if(o.day> this.day) { return -1; }else if(o.day<this.day) { return 1; }else { if(o.index > this.index) { return 1; }else { return -1; } } } } } } }