题目链接
http://acm.hdu.edu.cn/showproblem.php?pid=1263
1 5 apple shandong 3 pineapple guangdong 1 sugarcane guangdong 1 pineapple guangdong 3 pineapple guangdong 1
guangdong |----pineapple(5) |----sugarcane(1) shandong |----apple(3)
#include<iostream> #include<map> #include<vector> #include<cstring> #include<algorithm> using namespace std; int main() { int T,m; cin>>T; while(T--){ int num; string place,name; map<string,map<string,int> >mp; cin>>m; for(int i=0;i<m;i++) { cin>>name; cin>>place; cin>>num; mp[place][name]+=num; } for(map<string,map<string,int> >::iterator it=mp.begin();it!=mp.end();it++) { cout<<it->first<<endl; for(map<string,int>::iterator its=it->second.begin();its!=it->second.end();its++) cout<<" |----"<<its->first<<"("<<its->second<<")"<<endl; } if(T) cout<<endl; } }