主题思想: 主要是熟练,c++中map的遍历方式。
属于训练使用stl模板数据结构部分:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<map>
using namespace std;
int main()
{
map<string,map<string,int> > m;
int T;
scanf("%d",&T);
int n;
string from;
string name;
int num;
while(T--){
m.clear();
scanf("%d",&n);
for(int i=0;i<n;i++){
cin>>name>>from>>num;
m[from][name]+=num;
}
for(map<string,map<string,int> >::iterator it=m.begin();it!=m.end();it++){
cout<<it->first<<endl;
for(map<string,int>::iterator itt=it->second.begin();itt!=it->second.end();itt++){
cout<<" |----";
cout<<itt->first<<"("<<itt->second<<")"<<endl;
}
}
if(T>0) printf("\n");
}
return 0;
}

489

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



