题意:给出水果名,水果产地,水果数量,要求按照水果产地分类然后输出。(中文题板不做太多解释)
题记:运用二维map来存储,然后用迭代器遍历输出即可。
(要注意最后一组测试数据之后没有空行)
#include<iostream>
#include<map>
#include<string>
using namespace std;
const int N=1e5+10;
int main(){
int t; cin>>t;
while(t--){
string a;
string b;
int n,x;
cin>>n;
map<string,map<string,int>>m;
while(n--){
cin>>a>>b>>x;
m[b][a]+=x;
}
map<string,map<string,int>>::iterator it;
map<string,int>::iterator it2;
for(it=m.begin();it!=m.end();it++){
cout<<it->first<<endl;
for(it2=m[it->first].begin();it2!=m[it->first].end();it2++){
cout<<" |----"<<it2->first<<'('<<it2->second<<')'<<endl;
}
}
if(t!=0) cout<<endl;
}
return 0;
}