简单题
主要是学习了一下如何使用二维map(map的元素为map),
其实跟二维数组差不多。。。。。。
代码如下:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<map>
using namespace std;
int main()
{
string str1,str2;
int k,t,n,m;
map<string,int>m1;
map<string,int>::iterator i;
map<string,map<string,int > >m2;
map<string,map<string,int> >::iterator j;
cin>>t;
while(t--)
{
m1.clear();
m2.clear();
cin>>n;
while(n--)
{
cin>>str1>>str2>>k; //map的嵌套可以看出一种二维数组
m2[str2][str1]+=k; //产地为第一关键字,名称为第二关键字
}
for(j=m2.begin();j!=m2.end();j++)
{
cout<<j->first<<endl; //访问first,second的时候必须使用结构体方式
m1=j->second;
for(i=m1.begin();i!=m1.end();i++)
cout<<" |----"<<i->first<<"("<<i->second<<")"<<endl;
}
if(t)
cout<<endl;
}
return 0;
}