题目:
解题思路:
用map来写,在一个map里面再套一个map第一个map的first用来存储字符串(地点)第二个map的first存储种类second存储交易数目,最后将其一次输出即可
Accept Code:
#include<iostream>
#include<algorithm>
#include<map>
#include<string>
using namespace std;
int main()
{
int n,m,T,i,j,k;
cin>>T;
char s1[90],s2[90];
while(T--)
{
map<string,map<string,int> > mp;
cin>>n;
for(i=1; i<=n; i++)
{
cin>>s1>>s2>>m;
mp[s2][s1]+=m;
}
map<string,map<string,int> >:: iterator it;
map<string,int> :: iterator it2;
for(it=mp.begin(); it!=mp.end(); it++)
{
cout<<(*it).first<<endl;
for(it2=(*it).second.begin(); it2!=(*it).second.end(); it2++)
cout<<" |----"<<(*it2).first<<"("<<(*it2).second<<")"<<endl;
}
if(T>=1)
cout<<endl;
}
return 0;
}