|
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
/*输出有四种类型
* 类型一:德分>H且才分>H 才德全尽
* 类型二:德分>H且L<才分<H 德胜才
* 类型三:L<德<H且L<才分<H且德分>才分 才德兼亡(德胜才)
* 类型四:L<德分<H且L<才分<H
*
* 且数出时要数出达到最低分数线的考生人数
*/
public class Main {
public static void main(String[] args) {
class Student{
String ID;
int moral;
int talent;
Student(String id,int moral,int talent){
this.ID=id;
this.moral=moral;
this.talent=talent;
}
}
ArrayList<Student> list1=new ArrayList<Student>();
ArrayList<Student> list2=new ArrayList<Student>();
ArrayList<Student> list3=new ArrayList<Student>();
ArrayList<Student> list4=new ArrayList<Student>();
Scanner in=new Scanner(System.in);
int num=in.nextInt();
int L=in.nextInt();
int H=in.nextInt();
Student[] stu=new Student[num];
for(int i=0;i<num;i++){
stu[i]=new Student(in.next(),in.nextInt(),in.nextInt());
if(stu[i].moral>=H && stu[i].talent>=H)
list1.add(stu[i]);
else if(stu[i].moral>=H && stu[i].talent>=L)
list2.add(stu[i]);
else if(stu[i].moral>=L && stu[i].talent>=L && stu[i].moral>=stu[i].talent)
list3.add(stu[i]);
else if(stu[i].moral>=L && stu[i].talent>=L)
list4.add(stu[i]);
}
System.out.println(list1.size()+list2.size()+list3.size()+list4.size());//输出上线人数。
Comparator<Student> com=new Comparator<Student>(){
public int compare(Student o1, Student o2) {
if(o1.moral+o1.talent>o2.moral+o2.talent)
return -1;
else if(o1.moral+o1.talent<o2.moral+o2.talent)
return 1;
else{
if(o1.moral>o2.moral)
return -1;
else if(o1.moral<o2.moral)
return 1;
else{
if(Integer.valueOf(o1.ID)<Integer.valueOf(o2.ID))
return -1;
else
return 1;
}
}
}
};
Collections.sort(list1,com);
Collections.sort(list2,com);
Collections.sort(list3,com);
Collections.sort(list4,com);
for(int i=0;i<list1.size();i++){//第一类输出
String id=list1.get(i).ID;
int m=list1.get(i).moral;
int n=list1.get(i).talent;
System.out.println(id+" "+m+" "+n);
}
for(int i=0;i<list2.size();i++){//第二类输出
String id=list2.get(i).ID;
int m=list2.get(i).moral;
int n=list2.get(i).talent;
System.out.println(id+" "+m+" "+n);
}
for(int i=0;i<list3.size();i++){//第三类输出
String id=list3.get(i).ID;
int m=list3.get(i).moral;
int n=list3.get(i).talent;
System.out.println(id+" "+m+" "+n);
}
for(int i=0;i<list4.size();i++){//第四类输出
String id=list4.get(i).ID;
int m=list4.get(i).moral;
int n=list4.get(i).talent;
System.out.println(id+" "+m+" "+n);
}
in.close();
}
}
|