开始的时候没有将每次用完map后清空,导致一直wrong answer……T_T……
#include<iostream>
#include<string>
#include<map>
#include<cstdio>
using namespace std;
int main()
{
// freopen("t.txt","r",stdin);
int i,n,k,t;
string fruit,place;
map<string,map<string ,int> > m;
cin>>t;
while(t--)
{
m.clear();
cin>>n;
for(i=0;i<n;i++)
{
cin>>fruit>>place>>k;
m[place][fruit]+=k;
}
map<string,map<string,int> >::iterator iter1;
for(iter1=m.begin();iter1!=m.end();iter1++)
{
cout<<iter1->first<<endl;
map<string,int>::iterator iter2;
for(iter2=iter1->second.begin();iter2!=iter1->second.end();iter2++)
{
cout << " |----" << iter2->first << "(" << iter2->second << ")" << endl;
}
}
if(t!=0) cout<<endl;
}
return 0;
}