#518. map的查询操作
map的查询操作
题目描述
输入 n 个用户的姓名和电话号码,接着进行 m 次查询操作,每次操作给定两个空格分隔的整数 c, 字符串x,其中 c∈[1,3],具体含义如下:
1 name
: 如果用户名 name 存在则输出 name 的电话,否则输出NO
。2 name
:输出用户名字典序小于 name 且距离 name 最近的用户的电话,如果不存在输出NO
。3 name
:输出首个用户名字典序大于name
的用户的电话,如果不存在输出NO
。
输入格式
第 1 行:两个空格分隔的整数,分别表示 n 和 m。 接下来 n 行:每行两个用空格分隔的字符串,分别表示用户的姓名和电话号码。 接下来 m 行:每行一条指令,含义和题目表述中一致。
输出格式
输出 m 行,每个查询的结果输出一行。
样例
输入#1
3 3
alex 13888888888
simba 13988888888
owen 18888888888
1 simba
2 alex
3 alex
输出#1
13988888888
NO
18888888888
数据范围
1≤𝑛,𝑚≤1000。用户名是不超过 30 个字符的字符串,电话是包含 11 个数字且首字符不为 0 的字符串。输入数据保证用户名和电话都不存在重复。