这是map里面套map要搞清关系
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<set>
#include<map>
#include<string>
#include<iostream>
using namespace std;
char a[20];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
map<string,map<string,int> > p;
for(int i=0;i<n;i++)
{
string e;string ee;
int o;
cin>>e>>ee>>o;
p[ee][e]+=o;
}
map<string,map<string,int> >::iterator ite;
for(ite=p.begin();ite!=p.end();ite++)
{
map<string,int>::iterator it;
cout<<ite->first<<endl;
for(it=ite->second.begin();it!=ite->second.end();it++)
{
printf(" |----"); cout<<it->first;
printf("(%d)\n",it->second);
}
}
if(t!=0)
cout<<endl;
}
return 0;
}