1032 挖掘機技術哪家強 (20 分)java

PangHuanTeng發表於2019-01-19

為了用事實說明挖掘機技術到底哪家強,PAT 組織了一場挖掘機技能大賽。現請你根據比賽結果統計出技術最強的那個學校。


輸入格式:

輸入在第 1 行給出不超過 10^​5​​ 的正整數 N,即參賽人數。隨後 N 行,每行給出一位參賽者的資訊和成績,包括其所代表的學校的編號(從 1 開始連續編號)、及其比賽成績(百分制),中間以空格分隔。


輸出格式:

在一行中給出總得分最高的學校的編號、及其總分,中間以空格分隔。題目保證答案唯一,沒有並列。
輸入樣例:

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

輸出樣例:

2 150

Think
這裡儲存我用的陣列,學校編號為陣列下標,分數為對應的下標值。注意校編號從1開始。

code


import java.io.*;

public class 挖掘機技術哪家強 {

    public static void main(String[] args) throws IOException {
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        in.nextToken();
        int n = (int) in.nval,max = 0,len,sch = 0;
        int[] score = new int[n];
        while(0 < n--) {
            in.nextToken();
            int schoo = (int) in.nval;
            in.nextToken();
            int sco = (int) in.nval;
            score[schoo] += sco;
        }
        len = score.length;
        for(int i = 1 ; i < len ; i++) {
            if(score[i] > max) {
                max = score[i];
                sch = i;
            }
        }
        System.out.print(sch + " " + max);
    }
}

遺憾的是java程式碼跑不通pta,所以用C++程式碼吧,測試通過了

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int a[100001]={0};
    int main() {
      int n,bianhao,score,max=0,j;
      cin>>n;
      while(n--){
        cin>>bianhao>>score;
        a[bianhao] += score;
      }
      for(int i=0;i<100000;i++) {
        if(a[i]>max) {
          max = a[i];
          j = i;
        }
      }
      cout<<j<<" "<<max; return 0;
    }

相關文章