#T1014. map的基本使用 I

map的基本使用 I

题目描述

我们所在的学校刚刚完成期末考试,由于数据量很大,老师希望你能帮助他完成以下任务。

提供 nn 组数据,每个数据由字符串和浮点数构成,两者使用空格隔开,字符串中间不会出现空格。 表示某人的期末成绩。例如 tom 95.3,表示 tom 的期末成绩为 95.395.3 分。

家长需要根据孩子的名字来查询成绩,比如输入 tom 将得到 95.395.3。但是这次混入了一些非本校的 家长,他们想搞坏我们的系统,这些家长输入的孩子是找不到的,碰到这样的情况,输出 −1-1。

输入格式

第一行两个整数 nn 和 qq(1≤n≤1051 \le n \le 10^5,1≤q≤1051 \le q \le 10^5)。

其后 nn 行,每行一个字符串和一个浮点数,用空格隔开,表示某个孩子的成绩: 字符串为 key,浮点数为 value。字符串长度不会超过 1414。

其后 qq 行,每行一个字符串,表示要查询的孩子名字。如果找不到这个孩子,输出 −1-1。

输出格式

一共 qq 行,每行一个浮点数,保留 11 位小数;查不到时该行输出 −1-1。

说明/提示

  • 查询是精确匹配:to 查不到 tom,xi 查不到 xita(样例里这两行都输出 −1-1)。
  • std::map 的 key 大小写敏感:Tom 与 tom 是两个不同的 key。
  • 查不到时输出的是 −1-1,不是 −1.0-1.0;而查到时必须带 11 位小数(样例里 beta 100 输出 100.0)。
  • 题面未给出分数的值域,本套数据取 0≤score≤1000 \le score \le 100。
7 10
tom 95.499
jerry 98.328
alice 78.253
beta 100
gamma 53.2
delta 99.899
xita 35.4392
xita
xi
tom
to
alice
jerry
gamma
delta
deta
beta
35.4
-1
95.5
-1
78.3
98.3
53.2
99.9
-1
100.0