为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:6 3 65 2 80 1 100 2 70 3 40 3 0输出样例:
2 150
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int score[n][2];
int school[n][2];
for(int i=0;i<n;i++)
{
cin>>score[i][0]>>score[i][1];
school[score[i][0]][1]=school[score[i][0]][1]+score[i][1];
school[score[i][0]][0]=score[i][0];
}
int maxn=0,k=0;
for(int j=0;j<n;j++)
{
if(school[j][1]>maxn)
{
maxn=school[j][1];
k=school[j][0];
}
}
//cout<<k+" "+maxn<<endl;
cout<<k<<" "<<maxn<<endl;
return 0;
}
注意:
1、int与string拼接时,cout<<k+" "+maxn<<endl;会出现乱码,如果拼接需要写成cout<<k<<" "<<maxn<<endl;的形式
2、注意题目是从1开始连续编号,因此学校数目不会超过学生的个数,可以构建一个数组存对应学校编号的学校数组,第一列为学校编号,第二列为该学校的总成绩。注意审题!
3、学会设置断点,详见DEV C++ "把着手教" 单步调试(debug)