题目描述
根据学校参加运动会项目的积分情况,计算每个学校所获得的总积分,按照积分高低输出学校以及学校积分。
输入格式
输入包括多行数据,每行数据依次是学校名称 项目名称 选手姓名 成绩 积分
学校总数不超过10个,学校名称、项目名称和选手姓名是字符串形式,不超过50个字符,成绩为浮点型数据,积分为整数,大于等于0,小于等于10
输出格式
按照学校获得积分降序排列,每个学校一行,输出学校名称 积分
输入样例 复制
北化 跳高 张三 1.7 7
北大 跳高 李四 1.55 3
输出样例 复制
北化 7
北大 3
分类标签
#include <iostream>
#include<map>
#include<string>
using
namespace
std;
int
main()
{
map<string,
int
>mp;
string school,project,name;
float
grade;
int
score;
while
(cin>>school>>project>>name>>grade>>score){
if
(mp.find(school)==mp.end()){
mp[school]=0;
}
mp[school]+=score;
}
while
(mp.size()>0){
map<string,
int
>::iterator itMax=mp.begin();
for
(map<string,
int
>::iterator it=mp.begin();it!=mp.end();it++){
if
(it->second>itMax->second){
itMax=it;
}
}
cout << itMax->first <<
" "
<< itMax->second <<endl;
mp.erase(itMax);
}
return
0;
}