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容器简单使用相关推荐

  1. 7-15 航空公司VIP客户查询 (25分)(没用stl,哈希链地址法实现)

    7-15 航空公司VIP客户查询 (25分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记 ...

  2. # 7-45 航空公司VIP客户查询 (25 分)

    7-45 航空公司VIP客户查询 (25 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...

  3. 7-45 航空公司VIP客户查询 (25 分)

    7-45 航空公司VIP客户查询 (25 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...

  4. 【PTA】7-1 航空公司VIP客户查询 (25 分)

    不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...

  5. 7-45 航空公司VIP客户查询 (25 分)(思路+详解+map用法解释+超时解决)兄弟们来呀冲压呀呀呀呀

    一:题目 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会 ...

  6. 航空公司VIP客户查询 (25 分)

    不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...

  7. 7-3 航空公司VIP客户查询 (25 分)C语言实现

    不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...

  8. 7-75 航空公司VIP客户查询 (25分)

    不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行记录,要求实现根据身份证号码快速查询会员里程积分 ...

  9. 7-17 航空公司VIP客户查询 (10 分)

    7-17 航空公司VIP客户查询 (10 分) 不少航空公司都会提供优惠的会员服务,当某顾客飞行里程累积达到一定数量后,可以使用里程积分直接兑换奖励机票或奖励升舱等服务.现给定某航空公司全体会员的飞行 ...

最新文章

  1. 串口服务器支持多台上位机,RS485多机通信一台上位机两台下位机问题,
  2. java 取不同的随机数_Java实现获取指定个数的不同随机数
  3. JS给html控件赋值
  4. 刷脸秒入仓,阿里云云盾实人认证助力心怡科技迎战双11
  5. java 宕机监控_JAVA实现监测tomcat是否宕机及控制重启的方法
  6. Dataset:机器学习和深度学习中对数据集进行高级绘图(数据集可视化,箱线图等)的简介、应用之详细攻略——daidingdaiding
  7. 干货丨你知道Python中a += b和a = a + b的结果是不一样的吗?
  8. vs设置语言后引用dll的一个错误
  9. python ==字符串
  10. unity 草 可以一棵棵种吗?_这种野草人称“瓜子金”,1斤能卖50多,拔1棵少棵很珍贵...
  11. 盘点 8 种最坑的 SQL 错误用法
  12. 为什么有些人喜欢用fiddler来抓包?
  13. SSH关于公钥认证Permission denied的问题
  14. 安卓接收耳机按键控制音频播放
  15. java dialog 用法_详解Java编程JDialog窗体的用法及实例
  16. zabbix安装教程
  17. NAT alg 和 ASPF
  18. 分销零售企业售后服务管理软件的业务分析
  19. 八字易经算法之用JAVA实现生旺死绝和十神
  20. Domoticz添加实时天气信息显示

热门文章

  1. 小刚的Android研究笔记~在未开启USB调试的Android手机绕过锁屏密码
  2. 安卓apk安装包腾讯云-乐固加固以及重新签名
  3. MongoDB设置账号密码
  4. apidoc 自动化生成 api接口文档
  5. 张国荣5周年祭辰 张学友梁朝伟等红馆唱悼哥哥
  6. RPM REBUILD
  7. linux 查看zookeeper目录,查看zookeeper注册中心是否有注册服务
  8. bzoj1898: [Zjoi2004]Swamp 沼泽鳄鱼
  9. Adobe Acrobat XI Pro 11.x 安装指南
  10. PCL读取带rgb信息的asc文件C++