1 import java.util.Arrays;
2 import java.util.Comparator;
3 import java.util.Scanner;
4
5 public class Main{
6 private static class stu{
7 String num;
8 String name;
9 int score;
10 @Override
11 public String toString() {
12 return num+" "+name+" "+score;
13 }
14 }
15 private static class C1 implements Comparator<stu>{
16 @Override
17 public int compare(stu o1, stu o2) {
18 return o1.num.compareTo(o2.num);
19 }
20 }
21 private static class C2 implements Comparator<stu>{
22 @Override
23 public int compare(stu o1, stu o2) {
24 if(o1.name.compareTo(o2.name)!=0)
25 return o1.name.compareTo(o2.name);
26 else
27 return o1.num.compareTo(o2.num);
28 }
29 }
30 private static class C3 implements Comparator<stu>{
31 @Override
32 public int compare(stu o1, stu o2) {
33 if(o1.score>o2.score) return 1;
34 else if(o1.score<o2.score) return -1;
35 else return o1.num.compareTo(o2.num);
36 }
37 }
38
39 public static void main(String[]args){
40 stu[] student=new stu[100000];
41 for(int i=0;i<100000;i++)
42 student[i]=new stu();
43 Scanner in=new Scanner(System.in);
44 int count=0;
45 while(in.hasNext()){
46 int N=in.nextInt();
47 int C=in.nextInt();
48 if(N==0) break;
49 for(int i=0;i<N;i++){
50 student[i].num=in.next();
51 student[i].name=in.next();
52 student[i].score=in.nextInt();
53 }
54 switch (C) {
55 case 1:
56 C1 c1=new C1();
57 Arrays.sort(student,0,N,c1);//0表示第一个下标,N表示最后一个下标+1
58 break;
59 case 2:
60 C2 c2=new C2();
61 Arrays.sort(student,0,N,c2);
62 break;
63 case 3:
64 C3 c3=new C3();
65 Arrays.sort(student,0,N,c3);
66 break;
67 default:
68 break;
69 }
70 count++;
71 System.out.println("Case "+count+":");
72 for(int i=0;i<N;i++)
73 System.out.println(student[i]);
74 }
75 }
76 }
77 /**************************************************************
78 Problem: 1023
79 User: 0000H
80 Language: Java
81 Result: Time Limit Exceed
82 ****************************************************************/