PAT 乙级 1032 挖掘机技术哪家强 v1.0
1. 题目简述及在线测试位置
1.1 输入是一系列 学校编号和对应的得分,要求统计出最多得分的学校
1.2 在线测试位置:PAT 1032 挖掘机技术哪家强
2. 基本思路
2.1 通过空间换取时间:创建数组,学校编号对应数组下标,学校得分对应数组值;待输入数据存储完毕后,对整个数组进行扫描,就可以得到得分最多的学校
2.2 注意:最多得分可能是0,变量赋初值时需要注意
3. 完整AC代码
#include <iostream>
using namespace std;
#define MAX 100001
int main()
{
int a[MAX] = { 0 }; //数组元素初始值均设定为0
int Number, ID, Score;
//MaxSchool, MaxScore必须是对应关系,因此需要设定合理的数值
//分数最低值为0,不考虑MaxSchool,单独设定MaxScore为负数也可以
int MaxSchool, MaxScore=-1;
cin >> Number;
for (int i = 1; i <= Number; i++)//记录数据
{
cin >> ID >> Score;
a[ID] += Score;
}
for (int i=1; i <=Number; i++)//
{
if (a[i] > MaxScore)
{
MaxScore = a[i];
MaxSchool = i;
}
}
cout << MaxSchool << " " << MaxScore;
return 0;
}