zoukankan      html  css  js  c++  java
  • PAT 1028

    这道题JAVA能超时我也是无奈了,感觉没啥办法了,自求多福吧... 换python更跪,C++又是VC 6.0,紫金港你特么能不能成点事啊>_<

     1 import java.util.*;
     2 import java.io.*;
     3 
     4 class FastReader{
     5     BufferedReader reader;
     6     StringTokenizer tokenizer;
     7     
     8     public FastReader(InputStream stream){
     9         reader = new BufferedReader(new InputStreamReader(stream), 123456789);
    10         tokenizer = null;
    11     }
    12     
    13     public String next(){
    14         while (tokenizer == null || !tokenizer.hasMoreTokens()){
    15             try{
    16                 tokenizer = new StringTokenizer(reader.readLine());
    17             } catch (Exception e){
    18                 throw new RuntimeException(e);
    19             }
    20         }
    21         
    22         return tokenizer.nextToken();
    23     }
    24     
    25     public int next_int(){
    26         return Integer.parseInt(next());
    27     }
    28 }
    29 
    30 class StudentInfo{
    31     String id;
    32     String name;
    33     int grade;
    34 }
    35 
    36 public class Main {
    37     public static void main(String[] args){
    38         FastReader reader = new FastReader(System.in);
    39         int N = reader.next_int();
    40         int C = reader.next_int();
    41         
    42         ArrayList<StudentInfo> students = new ArrayList<StudentInfo>();
    43         for (int i = 0; i < N; i++){
    44             StudentInfo s = new StudentInfo();
    45             s.id = reader.next();
    46             s.name = reader.next();
    47             s.grade = reader.next_int();
    48             
    49             students.add(s);
    50         }
    51         
    52         if (C == 1){
    53             Collections.sort(students, new Comparator<StudentInfo>(){
    54                 public int compare(StudentInfo s1, StudentInfo s2){
    55                     return s1.id.compareTo(s2.id);
    56                 }
    57             });
    58         } else if (C == 2){
    59             Collections.sort(students, new Comparator<StudentInfo>(){
    60                 public int compare(StudentInfo s1, StudentInfo s2){
    61                     if (!s1.name.equals(s2.name))
    62                         return s1.name.compareTo(s2.name);
    63                     else{
    64                         return s1.id.compareTo(s2.id);
    65                     }
    66                 }
    67             });
    68         } else {
    69             Collections.sort(students, new Comparator<StudentInfo>(){
    70                 public int compare(StudentInfo s1, StudentInfo s2){
    71                     if (s1.grade != s2.grade)
    72                         return s1.grade - s2.grade;
    73                     else{
    74                         return s1.id.compareTo(s2.id);
    75                     }
    76                 }
    77             });
    78         }
    79         
    80         for (StudentInfo s : students){
    81             System.out.println(s.id + " " + s.name + " " + s.grade);
    82         }
    83     }
    84 }
  • 相关阅读:
    Eclipse 中怎样自动格式化代码?
    如何使用Jfreechart生成柱状图?
    ADT OOP
    5.2 Construction for Reuse
    Lab6实验的一些思考
    软件构造的八个多维视图
    软件构造笔记5.1 Metrics, Morphology and External Observations of Reusability
    事后诸葛亮之感谢
    (Model)针对编译错误的友好提示
    第二次结对作业
  • 原文地址:https://www.cnblogs.com/EpisodeXI/p/4067122.html
Copyright © 2011-2022 走看看