HM245 点名查找

HM245 点名查找

HM245 点名查找

来源: 第 245 集 常用遍历算法-find

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

find 在给定区间里查找**指定元素**。找到返回该元素的迭代器,找不到返回结束迭代器。不论找到与否,返回值都是迭代器:等于 end 表示没有,否则解引用即可。参数是起点、终点和要找的值。头文件 algorithm

分两种情况:

  1. 内置类型可以直接比,例如在整数容器里找 \(5\)。
  2. 自定义类型必须重载 operator==find 底层用 == 比较,它不知道该按姓名还是年龄比。重载时用 const 引用接收对方,避免被修改;姓名与年龄都相同才返回真。查找时应该再构造一个待查对象(同名同龄),而不是把已经放进容器的那个对象再塞回去。

先在整数序列里 find 一个整数;再在人员序列里 find 一个“姓名+年龄”都匹配的人。

输入格式

第一行两个整数 \(n, x\),表示整数个数和要找的整数。

第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。

第三行一个整数 \(m\)。

接下来 \(m\) 行,每行一个不含空白的姓名和一个整数年龄。

最后一行一个不含空白的姓名和一个整数年龄,表示待查的人。当 \(m=0\) 时仍要给出待查的人。

输出格式

第一行:若找到整数 \(x\) 则输出 \(x\),否则输出 NOT FOUND

第二行:若找到该人则输出 姓名 年龄,否则输出 NOT FOUND

样例

输入 #1

10 5
0 1 2 3 4 5 6 7 8 9
4
aaa 10
bbb 20
ccc 30
ddd 40
bbb 20

输出 #1

5
bbb 20

输入 #2

3 50
1 2 3
2
aaa 10
bbb 20
ccc 30

输出 #2

NOT FOUND
NOT FOUND

说明

\(0 \le n, m \le 1000\),整数绝对值不超过 \(10^9\),姓名长度 \(1\sim 20\),年龄为 \(1\sim 10^6\)。

样例 #1 在 \(0\sim 9\) 中找到 \(5\);人员里用新对象去对姓名 bbb、年龄 \(20\),两者都相等才算找到。样例 #2 整数 \(50\) 不存在,人员里也没有 ccc 30

信息

ID
1244
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者