利用C++中STL解决水果店问题
目录
- 问题描述
- 输入格式
- 输出格式
- 样例输入
- 样例输出
- 解题思路
- 参考答案
问题描述
一个商人经营着一个不大的水果店。他认为生存之道就是经营最受顾客欢迎的水果。现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了。这个商人会告诉你每一笔销售记录的水果名称\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解决水果店问题相关推荐
- 利用永中office解决ubuntu下office文件无法显示音标的问题。
原地址:http://forum.ubuntu.org.cn/viewtopic.php?t=207916 花了几天时间倒腾ubuntu下怎么让音标正确的显示出来,今天终于找到一个折中的办法,利用永中 ...
- 水果店收银系统解决方案
我国传统水果店的经营方式大多是以实体店的销售形式进行经营.但由于疫情,随着生鲜电商.农商直播的发展,传统的经营方式也受到不小的线上销售冲击.基于传统水果店经营现状,结合农业部门对今后几年水果供需平衡数 ...
- Problem : STL——水果店
话不多说,先上题目为敬~ Problem K: STL--水果店 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 4265 Solved: 1796 ...
- C++中STL容器利用迭代器删除元素小结
C++中STL容器利用迭代器删除元素小结 在STL容器中删除元素,容易导致迭代器失效,故应该清楚明白其用法,现在总结一下. 转载自:https://blog.csdn.net/yf_li123/art ...
- 利用java中for循环,递归解决机选双色球问题
利用java中简单的for循环,if判断和递归思想,解决机选双色球的问题 public static void main(String[] args) { /** * 双色球的选取共有两部分,红球和蓝 ...
- Problem E: STL——水果店
Problem E: STL--水果店 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 5717 Solved: 2448 [Submit][Stat ...
- OJ 1354 Problem G STL——水果店
Description 小明经营着一个不大的水果店.现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了. Input 输入包含多组数据.每组测试数据的第一行是一个整数M(0& ...
- OJ Problem D: STL——水果店
Problem D: STL--水果店 Description: 小明经营着一个不大的水果店.现在他想要一份水果销售情况的明细表,这样就可以很容易掌握所有水果的销售情况了. Input: 输入包含多组 ...
- Problem K: STL——水果店
Home Web Board ProblemSet Standing Status Statistics Problem K: STL--水果店 Time Limit: 1 Sec Memory L ...
最新文章
- 百度要造什么车?汽车依然逃不出 BAT 的手掌心 | 撩车
- LNMP环境中WordPress程序伪静态解决方案
- c++一日一练:让标准的输入输出流关联一个缓冲区
- 【Linux基础】 diff命令的参数详解和实例
- 两种方式实现登录跳转新窗体
- Git使用出现git@github.com: Permission denied (publickey)
- 【工匠大道】博客园小技巧
- Atitit.cto 与技术总监的区别
- EPUB和PDF的区别,有什么好用的安卓epub阅读器
- 电脑cpu测试软件 95,Prime95(CPU稳定性测试)
- 简单了解logger.debug
- AtCoder Beginner Contest 168 C~D题解
- HDOJ 4238 - Programming the EDSAC 阅读理解..高精度处理
- 五个最好的压缩软件下载
- 网络测试——iperf使用
- Netsuite设置中文多语言
- python实时抢网页红包_Python实现自动抢红包功能
- 501 5.1.7 Invalid address
- 《C++ Primer中文版》(第四版)信息汇总(三)
- linux tcp 包大小,Linux TCP数据包接收处理 --- 转