PAT B1032 挖掘机技术哪家强
#include<stdio.h>
#define MAXN 100010//没有0号,遍历枚举最大值时需要注意
//我一开始这里写的是#define maxn 100010,就报错,看来只有大写MAXN才行
//书上的写法是 const int maxn=100010;
//#define LOCAL
int a[MAXN]={0};//是可以定义的同时赋值的
int main(){
#ifdef LOCAL
freopen("B1032data.in","r",stdin);
freopen("B1032data.out","w",stdout);
#endif
int n=0,tempn=0,tempa=0,max,maxn;
scanf("%d",&n);
while(n--){
scanf("%d%d",&tempn,&tempa);
a[tempn]+=tempa;//因为学校号是从1开始连续编号的,所以肯定不会超过10000个,只能这样理解了
}
max=a[1];
maxn=1;//假设第一个学校是得分最大的
for(int i=1;i<100001;i++){
if(a[i]>max)
{
max=a[i];
maxn=i; //注意这里一定要加花括号,是在一个if钟赋值的,一开始错误就出在这里,后来才ac了
}
}
printf("%d %d",maxn,max);
}
本文提供了一段解决PATB1032问题的C语言代码实现,该程序通过读取输入数据来确定哪所学校在挖掘机技术方面最强。通过遍历和比较各个学校的数据,最终输出得分最高的学校及其分数。
212

被折叠的 条评论
为什么被折叠?



