前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >水果店 - 蓝桥杯【STL】

水果店 - 蓝桥杯【STL】

作者头像
Lokinli
发布2023-03-09 14:32:13
1870
发布2023-03-09 14:32:13
举报
文章被收录于专栏:以终为始

学习 STL ,本题就是一个 str -> str -> int 的映射,要是熟悉 STL 很好做,不过很久不写也忘记的差不多了,看了一个别人怎么搞的,还是感觉 STL 很强,习惯了 python 就乱用 C++ ,自己写的一堆 bug 。

那我们懂了是 str -> str -> int 的映射关系,用 map 来存储,开个 iterator 迭代就可以了,因为 auto 禁用,所以就用 iterator 就可以。

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;
int main()
{
  int n;
 	cin >> n;	
  map<string,map<string,int> > fruit;
  string type,place;
  int num;
  for(int i = 0; i < n; i ++){
    cin >> type >> place >> num;
    fruit[place][type] += num;
  }
  map<string,map<string,int> > :: iterator it;
  map<string,int> :: iterator ti;
  for(it = fruit.begin(); it != fruit.end(); it ++){
    cout << it -> first << endl;
    for (ti = it->second.begin(); ti != it->second.end(); ti ++){
      cout << "   |----" << ti->first << "(" << ti->second << ")" << endl;
    }
  }
  
  return 0;
}

图片源于计蒜客,侵删。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档