Problem5406--map基本练习:map的基本使用 I

5406: map基本练习:map的基本使用 I

[Creator : ]
Time Limit : 2.000 sec  Memory Limit : 256 MiB

Description

【知识点】
map 和 unordered_map 是 STL 中重要的东西。在需要使用哈希表的时候,我们会使用这两个 STL 来完成。
在 NOIP 竞赛中,我们只需要会使用以下几个功能即可:
1、增加一个哈希值;
2、查询某个哈希是否存在。
map 内部实现了一个红黑树,map 中的元素是按照二叉搜索树存储的,内部的元素是有序的。unordered_map 内部实现了一个哈希表,内部元素是无序的。
使用 map,需要使用 #include <map>
使用 unordered_map,需要使用 #include <unordered_map>


在 OI 中,我们需要掌握 map, unordered_map 以下几个功能:
1、建立 map 和 unordered_map。
2、增加一个关系映射。
3、查询某个键值是否存在。使用 count(const key_type& k) 函数。
4、清空 map。使用 clear() 函数。


【任务】
STL map 基本练习题。
我们所在的学校刚刚完成期末考试,由于数据量很大,老师希望你能帮助他完成以下任务。
提供 $n$ 组数据,每个数据由字符串和浮点数构成,两者使用空格隔开,字符串中间不会出现空格。表示某人的期末成绩。
例如:${tom}\ 95.3$,表示 ${tom}$ 的期末成绩为 $95.3$ 分。
家长需要根据孩子的名字来查询成绩。比如输入 ${tom}$ 将得到 $95.3$。

Input

第一行,两个数字 $n$ ($1≤n≤10^5$) 和 $q$ ($1\leq q \leq 10^5$)。
其后 $n$ 行,表示有 $n$ 个孩子的成绩。每行由字符串和浮点数构成,两者使用空格隔开,字符串中间不会出现空格。表示 key 为字符串,value 为浮点数。字符串长度不会超过 $14$。
其后 $q$ 行,表示有 $q$ 个查询。每行为一个字符串,表示要查询的孩子名字。保证每个孩子都有成绩。保证每次查询都有对应的结果。

Output

一共有 $q$ 行,每行一个浮点数,保留 $2$ 位小数点精度。

Sample 1 Input

7 7
tom 95.499
jerry 98.328
alice 78.253
beta 100
gamma 53.2
delta 99.899
xita 35.4392
xita
tom
alice
jerry
gamma
delta
beta

Sample 1 Output

35.44
95.50
78.25
98.33
53.20
99.90
100.00

Source/Category

STL 3.8.map