- 题目大意
将每个产地的水果种类和数量按照字典序输出。
- 解题思路
利用一个二维的map容器将它的产地,品种,数目记录即可。(注意第一维以产地为键,水果为值,第二维以水果类型为键,水果数量为值,就可以自动按照字典序排序了。)。
- 代码
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
int m, n;
string nam, adr;
int ber;
cin >> m;
while (m--)
{
map<string, map<string, int>>fr;
cin >> n;
while (n--)
{
cin >> nam >> adr>>ber;
fr[adr][nam]+=ber;
}
map<string,map<string,int>>::iterator i1;
map<string, int>::iterator i2;
for (i1 = fr.begin(); i1 != fr.end(); i1++)
{
cout << i1->first<<endl;
for (i2 = (i1->second).begin(); i2 != (i1->second).end(); i2++)
{
cout << " |----" << i2->first << "(" << i2->second << ")" << endl;
}
}
fr.clear();
if(m!=0)
cout << endl;
}
return 0;
}