因为要按字母顺序排列,用结构会比较麻烦,而map会自动排序,用map写会方便很多
#include<iostream>
#include<map>
using namespace std;
map<string,map<string,int> >a;
int main()
{
int T;
cin>>T;
while(T--)
{
a.clear();
int m;
cin>>m;
string name,place;
int num;
while(m--)
{
cin>>name>>place>>num;
a[place][name]+=num;
}
map<string,map<string,int> >::iterator it1;
map<string,int>::iterator it2;
for(it1=a.begin();it1!=a.end();it1++)
{
cout<<it1->first<<endl;
for(it2=it1->second.begin();it2!=it1->second.end();it2++)
{
cout<<" |----"<<it2->first<<"("<<it2->second<<")"<<endl;
}
}
if(T)
cout<<endl;
}
return 0;
}