PAT

1032.挖掘机技术哪家强

2018-08-07  本文已影响8人  yzbkaka

题目描述

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

输入描述

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

输出描述

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

输入例子

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

输出例子

2 150

我的代码

#include<stdio.h>
#define N 100000
typedef struct List{
    int num;
    int score;
}MYLIST;
int main(){
    int n,i,j,t,sum[N],max1=0,max2=0;
    MYLIST a[N];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d %d",&a[i].num,&a[i].score);
        if(max1<a[i].num){
            max1=a[i].num;
        }
    }
    for(i=1;i<=max1;i++){
        sum[i]=0;
        for(j=0;j<n;j++){
            if(a[j].num==i){
                sum[i]=sum[i]+a[j].score;
            }
        }
        if(sum[i]>max2){
            max2=sum[i];
            t=i;
        }
    }
    printf("%d %d",t,max2);
    return 0;
}

我的分析

这道题是比较简单的一道题。我的方法是用一个结构体来存储每一个选手的信息,然后再用两个循环将编号相同的选手的总分加起来,然后再循环中顺便找出总分最多的那一组,最后是记住他们的编号与总分,输出。

上一篇 下一篇

猜你喜欢

热点阅读