题目链接: 水果
思路: map 的使用
map<string,map<string,int> >ma
这样赋值
ma[s2][s1]+=num;
CODE:
#include<iostream>
#include<stdio.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<stack>
using namespace std;
map<string,map<string,int> >ma;
int main()
{
//freopen("in.in","r",stdin);
int T;
cin>>T;
while(T--)
{
ma.clear();
int n;
cin>>n;
string s1,s2;
int num=0;
for(int i=0;i<n;i++)
{
cin>>s1>>s2>>num;
ma[s2][s1]+=num;
}
map<string,map<string,int> >::iterator im;
for(im=ma.begin();im!=ma.end();im++)
{
cout<<im->first<<endl;
map<string,int>::iterator iy;
for(iy=im->second.begin();iy!=im->second.end();iy++)
{
cout<<" |----"<<iy->first<<"("<<iy->second<<")"<<endl;
}
}
if(T!=0) printf("\n");
}
return 0;
}