• PAT——1032. 挖掘机技术哪家强


    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。

    输入格式:

    输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。

    输出格式:

    在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

    输入样例:

    6
    3 65
    2 80
    1 100
    2 70
    3 40
    3 0
    

    输出样例:

    2 150


     1 package com.hone.basical;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Collections;
     5 import java.util.Comparator;
     6 import java.util.List;
     7 import java.util.Scanner;
     8 
     9 /**
    10  * 原题目:https://www.patest.cn/contests/pat-b-practise/1030
    11  * @author Xia
    12  * 和前面一样,通过建立一个school类,定义id score(准确的数是一个学生类)
    13  * 先将相同的id的score进行合并,然后排列,取最大的一个对象。
    14  * List的应用
    15  * method  1
    16  */
    17 public class basicalLevel1032BestSchool{
    18     public static void main(String[] args) {
    19         Scanner s = new Scanner(System.in);
    20         int n = s.nextInt();
    21         List<school> slist = new ArrayList<>();
    22         for (int i = 0; i < n; i++) {
    23             school sl = new school();
    24             sl.id = s.nextInt();
    25             sl.score = s.nextInt();
    26             slist.add(sl);
    27         }
    28         for (int i = 0; i < slist.size(); i++) {
    29             for (int j = slist.size()-1; j > i; j--) {
    30                 if (slist.get(i).id == slist.get(j).id) {
    31                     slist.get(i).setScore(slist.get(i).score+slist.get(j).score);
    32                     slist.remove(j);
    33                 }
    34             }
    35         }
    36         Collections.sort(slist, new compareByscore());
    37         
    38         System.out.println(slist.get(slist.size()-1).id+" "+
    39         slist.get(slist.size()-1).score);
    40     }
    41     
    42 }
    43 
    44 class compareByscore implements Comparator{
    45 
    46     @Override
    47     public int compare(Object o1, Object o2) {
    48         school s1 = (school) o1;
    49         school s2 = (school) o2;
    50         return s1.score-s2.score;
    51     }
    52 }
    53 
    54 
    55 class school{
    56     int id;
    57     int score;
    58     public int getId() {
    59         return id;
    60     }
    61     public void setId(int id) {
    62         this.id = id;
    63     }
    64     public int getScore() {
    65         return score;
    66     }
    67     public void setScore(int score) {
    68         this.score = score;
    69     }
    70     
    71 }
     1 package com.hone.basical;
     2 
     3 import java.util.Scanner;
     4 
     5 /**
     6  * 原题目:https://www.patest.cn/contests/pat-b-practise/1032
     7  * @author Xia
     8  * 方法2
     9  * 思路:用一个school[]数组来存储每一个学校的最终得分,但是这样容易造成超时。因为数组必须建得足够的大。
    10  */
    11 public class basicalLevel1032BestSchoolImprove{
    12     public static void main(String[] args) {
    13         Scanner s = new Scanner(System.in);
    14         int n = s.nextInt();            //学生总人数
    15         int[] school = new int[100001];
    16         for (int i = 0; i < n; i++) {
    17             int id = s.nextInt();
    18             int score = s.nextInt();
    19             school[id]+=score;
    20         }
    21         int max = -1;
    22         int index = 0;
    23         for (int i = 0; i < school.length; i++) {
    24             if (school[i] > max) {
    25                 max = school[i];
    26                 index = i;
    27             }
    28         }
    29         System.out.println(index+" "+school[index]);
    30     }
    31 }




  • 相关阅读:
    centos7.0 没有netstat 命令问题
    Linux系统下安装rz/sz命令及使用说明
    怎样查看linux版本
    MongoDB 的 GridFS 详细分析
    MongoDb的bin目录下文件mongod,mongo,mongostat命令的说明及使用
    MongoDB基本使用
    安装concrete时提示“...database does not support InnoDB database tables..."如何解决
    最近开始研究PMD(一款采用BSD协议发布的Java程序代码检查工具)
    如何利用论坛做推广 | 一个每天可以吸引50粉丝的推广思路
    那些高阅读量文章的标题都是怎么取的?14种模板直接套用
  • 原文地址:https://www.cnblogs.com/xiaxj/p/7990977.html
Copyright © 2020-2023  润新知