为了用事实说明挖掘机技术到底哪家强,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)