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