要求:统计各个产地生产的各种水果数目。
Sample Input
1
5
apple shandong 3
pineapple guangdong 1
sugarcane guangdong 1
pineapple guangdong 3
pineapple guangdong 1
Sample Output
guangdong
|----pineapple(5)
|----sugarcane(1)
shandong
|----apple(3)
方法:二维map
二维map定义时最后一个> >中间必须有空格!!!!!!
两个string对应的int:map<string,map<string,int> >ans;
二维map对应的迭代器:map<string,map<string,int> >::iterator it;
遍历的for循环:for(it=ans.begin();it!=ans.end();it++) //一定要用!=而不能用<
#include<stdio.h>
#include<iostream>
#include<map>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int i,j,t,n,num;
string s1,s2;
scanf("%d",&t);
while(t--)
{
map<string,map<string,int> >ans;
scanf("%d",&n);
for(i=0;i<n;i++)
{
cin>>s1>>s2>>num;
ans[s2][s1]+=num;
}
map<string,map<string,int> >::iterator it;
for(it=ans.begin();it!=ans.end();it++)
{
cout<<it->first<<endl;
map<string,int>::iterator it_2;
for(it_2=it->second.begin();it_2!=it->second.end();it_2++)
cout<<" |----"<<it_2->first<<'('<<it_2->second<<')'<<endl;
}
if(t) cout<<endl;
}
}