题目链接:Problem - 1263 (hdu.edu.cn)
解题思路:多组测试数据,输出一个水果昵称,生产地址,个数,他们三个相呼应,所以可以用map的二维应用(map映射map)
其中:map里面会自动排序,输出的时候要选对关键字
#include <iostream>
#include <map>
using namespace std;
int main() {
int t;
cin >> t;
while(t--) {
int n;
cin >> n;
map<string,map<string,int> > mp; // 注意格式
string se[110];
for(int i=0; i<n; i++) {
string a,b;
int c;
cin >> a >> b >> c;
mp[b][a]+=c;
}
for(auto m=mp.begin(); m!=mp.end(); m++) { // 第一个关键字
cout << m->first << endl;
for(auto j=m->second.begin(); j!=m->second.end(); j++) { //第二个关键字
cout<< " |----" << j->first << "(" << j->second << ")"<< endl;
}
}
if(t) cout << endl; // 注意题目输出格式
}
}
文章详细介绍了如何在C++中使用map进行二维数据存储,特别是针对多组测试数据的情况,利用map的自动排序特性来组织和输出水果昵称、生产地址和个数。同时,提到了在遍历过程中需要注意的关键点和代码实现细节。
https://blog.csdn.net/ljw_study_in_CSDN/article/details/104355672?ops_request_misc=&request_id=&biz_id=102&utm_term=map%E4%BA%8C%E7%BB%B4&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-104355672.nonecase&spm=1018.2226.3001.4187
2210

被折叠的 条评论
为什么被折叠?



