G

- 题目大意

     将每个产地的水果种类和数量按照字典序输出。

- 解题思路

     利用一个二维的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;
}

  

原文地址:https://www.cnblogs.com/alpacadh/p/8438523.html