目录

  • 问题描述
  • 输入格式
  • 输出格式
  • 样例输入
  • 样例输出
  • 解题思路
  • 参考答案

问题描述

一个商人经营着一个不大的水果店。他认为生存之道就是经营最受顾客欢迎的水果。现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了。这个商人会告诉你每一笔销售记录的水果名称\color{red}{水果名称}水果名称,产地\color{red}{产地}产地和销售的数量\color{red}{销售的数量}销售的数量,请你帮他生成明细表。

输入格式

第一行是一个整数N(0< N < 1000),表示工有N次成功的交易。其后有N行数据,每行表示一次交易,由水果名称(小写字母组成,长度不超过100),水果产地(小写字母组成,长度不超过100)和交易的水果数目(正整数,不超过1000)组成。

输出格式

请你输出一份排版格式正确(请分析样本输出)的水果销售情况明细表。这份明细表包括所有水果的
产地、名称和销售数目的信息。水果先按产地分类\color{red}{水果先按产地分类}水果先按产地分类,产地按字母顺序排列;同一产地的水果按照名称排序\color{red}{同一产地的水果按照名称排序}同一产地的水果按照名称排序,名称按字母顺序排序。

样例输入

5
apple shandong 3
pineapple guangdong 1
sugarcane guangdong 1
pineapple guangdong 3
pineapple guangdong 1

样例输出

guangdong
|----pineapple(5)
|----sugarcane(1)
shandong
|----apple(3)

解题思路

其实很简单,利用C++的map函数,map函数的第一个值表示水果产地\color{red}{水果产地}水果产地,第二个值表示水果以及水果数量\color{red}{水果以及水果数量}水果以及水果数量。通过两个for循环嵌套就可以得出结果。

参考答案

答案不唯一,这里我就把我的思路展示一下。

#include<iostream>
#include<map>
#include<string>
using namespace std;
map<string,map<string,int> > mp; //第二个值表示水果和数量
string s1,s2;
int d;
int main(){int n;cin >> n;for(int i = 0;i < n; i++){cin >> s1 >> s2 >> d;mp[s2][s1] += d;}for( map<string,map<string,int> >::iterator it1=mp.begin(); it1!=mp.end(); it1++){cout<< (it1->first) <<endl;for( map<string,int>::iterator it2=(it1->second).begin(); it2!=(it1->second).end(); it2++){cout<< "   |----"<<(it2->first)<<"("<<(it2->second)<<")" <<endl;}}return 0;
}

利用C++中STL解决水果店问题相关推荐

  1. 利用永中office解决ubuntu下office文件无法显示音标的问题。

    原地址:http://forum.ubuntu.org.cn/viewtopic.php?t=207916 花了几天时间倒腾ubuntu下怎么让音标正确的显示出来,今天终于找到一个折中的办法,利用永中 ...

  2. 水果店收银系统解决方案

    我国传统水果店的经营方式大多是以实体店的销售形式进行经营.但由于疫情,随着生鲜电商.农商直播的发展,传统的经营方式也受到不小的线上销售冲击.基于传统水果店经营现状,结合农业部门对今后几年水果供需平衡数 ...

  3. Problem : STL——水果店

    话不多说,先上题目为敬~ Problem K: STL--水果店 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 4265  Solved: 1796 ...

  4. C++中STL容器利用迭代器删除元素小结

    C++中STL容器利用迭代器删除元素小结 在STL容器中删除元素,容易导致迭代器失效,故应该清楚明白其用法,现在总结一下. 转载自:https://blog.csdn.net/yf_li123/art ...

  5. 利用java中for循环,递归解决机选双色球问题

    利用java中简单的for循环,if判断和递归思想,解决机选双色球的问题 public static void main(String[] args) { /** * 双色球的选取共有两部分,红球和蓝 ...

  6. Problem E: STL——水果店

    Problem E: STL--水果店 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 5717  Solved: 2448 [Submit][Stat ...

  7. OJ 1354 Problem G STL——水果店

    Description 小明经营着一个不大的水果店.现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了. Input 输入包含多组数据.每组测试数据的第一行是一个整数M(0& ...

  8. OJ Problem D: STL——水果店

    Problem D: STL--水果店 Description: 小明经营着一个不大的水果店.现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了. Input: 输入包含多组 ...

  9. Problem K: STL——水果店

    Home Web Board ProblemSet Standing Status Statistics Problem K: STL--水果店 Time Limit: 1 Sec  Memory L ...

最新文章

  1. 百度要造什么车?汽车依然逃不出 BAT 的手掌心 | 撩车
  2. LNMP环境中WordPress程序伪静态解决方案
  3. c++一日一练:让标准的输入输出流关联一个缓冲区
  4. 【Linux基础】 diff命令的参数详解和实例
  5. 两种方式实现登录跳转新窗体
  6. Git使用出现git@github.com: Permission denied (publickey)
  7. 【工匠大道】博客园小技巧
  8. Atitit.cto 与技术总监的区别
  9. EPUB和PDF的区别,有什么好用的安卓epub阅读器
  10. 电脑cpu测试软件 95,Prime95(CPU稳定性测试)
  11. 简单了解logger.debug
  12. AtCoder Beginner Contest 168 C~D题解
  13. HDOJ 4238 - Programming the EDSAC 阅读理解..高精度处理
  14. 五个最好的压缩软件下载
  15. 网络测试——iperf使用
  16. Netsuite设置中文多语言
  17. python实时抢网页红包_Python实现自动抢红包功能
  18. 501 5.1.7 Invalid address
  19. 《C++ Primer中文版》(第四版)信息汇总(三)
  20. linux tcp 包大小,Linux TCP数据包接收处理 --- 转

热门文章

  1. 怎么给音频降噪?手把手教你降噪
  2. java游戏倒计时代码怎么用,Java实现倒计时代码
  3. 让分布式数据库在金融领域遍地开花
  4. 集结多种便捷功能,华为云会议让沟通简单化
  5. 服务器信号怎么提高,手机信号差怎么办?这里有3招快速提高手机信号的妙招!...
  6. 金仓数据库KingbaseES备份与恢复工具手册(还原与恢复)
  7. PhotoShop阵列功能
  8. 蜂助手在创业板提交注册:前三季度营收5亿元,净利润0.77亿元
  9. python函数声明与调用
  10. 《C/C++面试200题》四年面试官精心整理