PTA---航空公司VIP客户查询 (25分)---Stl-Map容器简单使用
Map是STL的一个关联容器,它提供一对一(也就是一个键一个值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。
map中大多数函数 时间复杂度至少是O(logn)级别的,数据量大时慎用
C++中Map头文件
#include<map>
构建方法
map<string,int> a;
map<int,string> a;
map<char,int> a;
map<int,int> a;
........等等
Map简单语句
- begin()---------返回指向map头部的迭代器
- end()-----------返回指向map尾部的迭代器
- clear()---------删除所有元素,清空一个map
- count()---------返回指定元素出现的次数
- empty()---------如果map为空则返回true
- erase()---------删除一个元素
- find()----------查找一个元素
- insert()--------插入元素
- size()----------返回一个int函数,为map的大小.
例题pta-航空公司VIP客户查询 (25分)
题目
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务。现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分的功能。
输入格式:
输入首先给出两个正整数N(≤1e+05)和K(≤500)。其中K是最低里程,即为照顾乘坐短程航班的会员,航空公司还会将航程低于K公里的航班也按K公里累积。随后N行,每行给出一条飞行记录。飞行记录的输入格式为:18位身份证号码(空格)飞行里程。其中身份证号码由17位数字加最后一位校验码组成,校验码的取值范围为0~9和x共11个符号;飞行里程单位为公里,是(0,15000]区间内的整数。然后给出一个正整数M(≤1e+05),随后给出M行查询人的身份证号码。
输出格式:
对每个查询人,给出其当前的里程累积值。如果该人不是会员,则输出No Info。每个查询结果占一行。
输入样例:
4 500
330106199010080419 499
110108198403100012 15000
120104195510156021 800
330106199010080419 1
4
120104195510156021
110108198403100012
330106199010080419
33010619901008041x
输出样例:
800
15000
1000
No Info
标准的Map例题,将String的键,对应int的值,判断有无这个键,如果没有输出No Info,如果有判断是否大于最低,如果大于直接加如果小于加最低的。
代码
#include<map>
#include<stdio.h>
#include<string>
using namespace std;
int main(){map<string ,int> a; int n,m,l;char b[20];while(scanf("%d %d",&n,&m)!=EOF){for(int i=0;i<n;i++){scanf("%s %d",b,&l);if(l>m)a[b]+=l;elsea[b]+=m;}scanf("%d",&n);for(int i=0;i<n;i++){scanf("%s",b);if(a.count(b)){printf("%d\n",a[b]);}else{printf("No Info\n");}}}return 0;
}
PTA---航空公司VIP客户查询 (25分)---Stl-Map容器简单使用相关推荐
- 7-15 航空公司VIP客户查询 (25分)(没用stl,哈希链地址法实现)
7-15 航空公司VIP客户查询 (25分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记 ...
- # 7-45 航空公司VIP客户查询 (25 分)
7-45 航空公司VIP客户查询 (25 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...
- 7-45 航空公司VIP客户查询 (25 分)
7-45 航空公司VIP客户查询 (25 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...
- 【PTA】7-1 航空公司VIP客户查询 (25 分)
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...
- 7-45 航空公司VIP客户查询 (25 分)(思路+详解+map用法解释+超时解决)兄弟们来呀冲压呀呀呀呀
一:题目 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会 ...
- 航空公司VIP客户查询 (25 分)
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...
- 7-3 航空公司VIP客户查询 (25 分)C语言实现
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...
- 7-75 航空公司VIP客户查询 (25分)
不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...
- 7-17 航空公司VIP客户查询 (10 分)
7-17 航空公司VIP客户查询 (10 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...
最新文章
- 串口服务器支持多台上位机,RS485多机通信一台上位机两台下位机问题,
- java 取不同的随机数_Java实现获取指定个数的不同随机数
- JS给html控件赋值
- 刷脸秒入仓,阿里云云盾实人认证助力心怡科技迎战双11
- java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法
- Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding
- 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
- vs设置语言后引用dll的一个错误
- python ==字符串
- unity 草 可以一棵棵种吗?_这种野草人称“瓜子金”,1斤能卖50多,拔1棵少棵很珍贵...
- 盘点 8 种最坑的 SQL 错误用法
- 为什么有些人喜欢用fiddler来抓包?
- SSH关于公钥认证Permission denied的问题
- 安卓接收耳机按键控制音频播放
- java dialog 用法_详解Java编程JDialog窗体的用法及实例
- zabbix安装教程
- NAT alg 和 ASPF
- 分销零售企业售后服务管理软件的业务分析
- 八字易经算法之用JAVA实现生旺死绝和十神
- Domoticz添加实时天气信息显示
热门文章
- 小刚的Android研究笔记~在未开启USB调试的Android手机绕过锁屏密码
- 安卓apk安装包腾讯云-乐固加固以及重新签名
- MongoDB设置账号密码
- apidoc 自动化生成 api接口文档
- 张国荣5周年祭辰 张学友梁朝伟等红馆唱悼哥哥
- RPM REBUILD
- linux 查看zookeeper目录,查看zookeeper注册中心是否有注册服务
- bzoj1898: [Zjoi2004]Swamp 沼泽鳄鱼
- Adobe Acrobat XI Pro 11.x 安装指南
- PCL读取带rgb信息的asc文件C++