二维map 的使用
#include <iostream>
#include <map>
using namespace std;
map<string, map<string, int> > dict;
int main(){
int n;
cin>>n;
for (int i = 0; i < n; i++) {
int num;
string cd, mc;
cin>>mc>>cd>>num;
dict[cd][mc] += num;
}
for(auto it=dict.begin();it!=dict.end();it++){
cout<<it->first<<endl;
for(auto is=(it->second).begin();is!=(it->second).end();is++){
cout<<" |----"<<is->first<<"("<<is->second<<")"<<endl;
}
}
return 0;
}
测试:
5
apple shandong 3
pineapple guangdong 1
sugarcane guangdong 1
pineapple guangdong 3
pineapple guangdong 1
结果:
guangdong
|----pineapple(5)
|----sugarcane(1)
shandong
|----apple(3)