Description

小明创业了!他开了一家餐馆,每天客人还挺多的。每天下班后,他都要算算今天总共收入多少钱,但是手工算太麻烦了,所以他来向你求助了。

Input

第1行N>0,表示餐馆提供N个菜品。

之后N行,每行包括2部分:菜名(不含空白符)及每份菜品的价格。

接着是M>0,表示今天接待的客人数。

每个客人的输入份三部分,第1行是客人的姓名(不含空白符),第2行是客人点的菜品的种类数K,之后K行是客人点的菜品名及份数。

Output

第一行输出Guest Price。

之后按照客人姓名从小到大的顺序(没有重名的顾客),依次输出每个客人消费了多少钱,消费额保留2位小数。

输出时,姓名左对齐,宽度为所有客人姓名的最大长度加1。

Sample Input

10
Yu-Shiang-Shredded-Pork 20
sweet-sour-Shredded-potato 15
Pie 0.50
Steamed-Rice 1.50
Tomato-and-Egg-Soup 17
Spareribs-with-brown-sauce 55
Sauteed-Sliced-Lamb-with-Scallion 60
Stir-fried-bean-sprouts 14
Moo-Shu-Pork 18
Deep-Fried-Dough-Sticks 2.50
3
Zhangsan
4
Yu-Shiang-Shredded-Pork 1
sweet-sour-Shredded-potato 1
Pie 3
Steamed-Rice 1
LiSi
2
Moo-Shu-Pork 1
Deep-Fried-Dough-Sticks 4
WangWu
3
Tomato-and-Egg-Soup 1
Spareribs-with-brown-sauce 1
Sauteed-Sliced-Lamb-with-Scallion 1

Sample Output

Guest Price
LiSi 28.00
WangWu 132.00
Zhangsan 38.00

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{int maxx=0;map<string,double>m;string na;double mo;int N;cin>>N;for(int i=0;i<N;i++){cin>>na>>mo;m.insert(make_pair(na,mo));}map<string,double>m2;int M;cin>>M;for(int i=0;i<M;i++){string name;double sum=0;int k;cin>>name>>k;if(name.length()>maxx)maxx=name.length();for(int j=0;j<k;j++){string c;int num;cin>>c>>num;sum+=num*m[c];}m2.insert(make_pair(name,sum));}cout<<setiosflags(ios::left)<<setw(maxx+1)<<"Guest"<<"Price"<<endl;map<string,double>::iterator it;for(it=m2.begin();it!=m2.end();it++)cout << setiosflags(ios::left) << setw(maxx+1) << it->first << fixed << setprecision(2) << it->second << endl;
}

Problem G: 开个餐馆算算账相关推荐

  1. 第 2 届河北省大学生程序设计竞赛(河北省赛)-Problem G. 520-题解

    传送门 Problem A. Mex Query Problem B. Nim Game Problem C. icebound 的账单 Problem G. 520 Problem H. 神殿 Pr ...

  2. 从开一家餐馆告诉你:如何用战略思维思考问题?

    如何用战略思维思考问题?通常,大部分人很容易立刻切入到执行层,因为见效果,「别管三七二十一,干了再说!」其实不是这样,应该从战略层做思考起点,策略层做切入,最后才是执行层落实. 几乎每个人都有开家小店 ...

  3. Problem G: 点歌单

    Problem G: 点歌单 Description Yang要下海创业,开一家量贩式KTV.现在需要你来帮他编写一个C++程序来实现点歌的功能.至少需要定义如下类及其成员: Song类:歌曲类,具有 ...

  4. 19.11.30联赛 Problem G. Can LYJ Pass The CET-4?

    Problem G. Can LYJ Pass The CET-4? 爆long long int128在Linux上可以编译并且能用. cin和cout是无法输出__int128的 typedef ...

  5. Western Subregional of NEERC, Minsk, Wednesday, November 4, 2015 Problem G. k-palindrome dp

    Problem G. k-palindrome 题目连接: http://opentrains.snarknews.info/~ejudge/team.cgi?SID=c75360ed7f2c7022 ...

  6. Problem G. Pandaria(线段树合并 + Kruskal 重构树)

    Problem G. Pandaria 给定一个有nnn条边的无向连通图,每条边有对应的边权,每个点有一个颜色, 问从一个点出发,经过不超过www的边权,所能到达的点中,颜色出现次数做多且颜色编号最小 ...

  7. Problem G: 函数---判断日期(年月日)是否合法

    Problem G: 函数---判断日期(年月日)是否合法 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 566  Solved: 240 Descr ...

  8. Problem G: C语言习题 医生值班

    Problem G: C语言习题 医生值班 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 847  Solved: 102 [Submit][Stat ...

  9. 作业帮口算批改怎么开 作业帮口算批改如何用

    作业帮口算批改功能怎么用?作业帮最近全新改版的消息传的很火,新增了口算批改的功能,很吸引人.但是还有很多用户不是很清楚作业帮口算批改功能怎么用,下面是小编整理的关于作业帮口算批改功能怎么用的相关资讯, ...

最新文章

  1. 8核移动处理器时代来临
  2. 怎么用python编贪吃蛇_少儿编程分享:手把手教你用PYTHON编写贪吃蛇(二)
  3. 有微型计算机广告,广告还会受欢迎?都是斯巴达克显卡惹的“祸”
  4. 为什么Spring仍然会是云原生时代最佳平台之一?
  5. hive转16进制unhex_Java 进制的转换
  6. AI(3)--- 机器学习常见的七个步骤
  7. 洛谷P2569 [SCOI2010]股票交易
  8. batchplot3.5.9如何使用_VirtualBox中安装的Windows XP如何使用USB3.0
  9. 115. 不同的子序列(JavaScript)
  10. python入门基础语法总结
  11. 用Kotlin开发Android的Hello Kotlin!!
  12. hdu 1561(树形DP+背包)
  13. SpringMVC 参数绑定注解解析
  14. Java 订单管理系统
  15. 编写程序输入年利率k(例如2.52%),存款总额total(例如100000元),计算一年后的本息并输出。
  16. python 最速曲线
  17. OOP-面向对象程序设计
  18. c语言程序常用的数学函数,C语言函数——常用数学函数
  19. tcpdump 抓包写文件
  20. java反射机制的概念及原理

热门文章

  1. Python编程:从入门到实践-第七章:用户输入和while循环(语法)
  2. 喵呜:C语言实现猜数字游戏
  3. 技术社区、相关论坛推荐汇总(持续更新)
  4. 联机版的连连看源代码
  5. LeetCode题库:并查集问题(Python语言实现)
  6. flex于java实现增删改查
  7. 北师大的计算机科学专业排名,2021北京师范大学王牌优势专业排名 什么专业最好...
  8. 机器学习已迫在眉睫——李烨
  9. JavaScript学习笔记三——查阅MDN、日期对象
  10. 轻松理解MySQL的MVCC机制