HM226 集合探查
HM226 集合探查
来源: 第 226 集 set容器-查找和统计
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
集合用 find 查找、用 count 统计。
find(x) 返回迭代器:找到则指向该元素,解引用即可得到值;找不到则返回 end()。判断方法是把返回的迭代器与 end() 比较——相等就是没找到,不相等就是找到了。
count(x) 返回该值出现次数,类型相当于整数。set 不允许重复,因此结果**只能是 \(0\) 或 \(1\)**:再怎么重复 insert 同一个数,统计仍是 \(1\)。multiset 才可能大于 \(1\),本题只用 set。
先把输入序列 insert 进集合。再处理若干询问:
F x:对 \(x\) 做find。找到则输出FOUND和解引用得到的值;否则输出NOTFOUND。C x:输出count(x)。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数,按给定顺序插入。当 \(n=0\) 时本行可以是空行。
第三行一个整数 \(q\)。
接下来 \(q\) 行,每行一个字符(F 或 C)和一个整数 \(x\)。
输出格式
每个询问一行。F 找到时为 FOUND 与值,中间一个空格;找不到为 NOTFOUND。C 只输出一个整数。
样例
输入 #1
5
10 40 20 30 30
4
F 30
F 300
C 30
C 300
输出 #1
FOUND 30
NOTFOUND
1
0
输入 #2
0
2
F 1
C 1
输出 #2
NOTFOUND
0
说明
\(0 \le n \le 1000\),\(1 \le q \le 1000\),元素与询问值的绝对值不超过 \(10^9\)。
样例 #1 插入了两个 \(30\),但 set 只留一个,因此 find(30) 成功且 count(30)=1;容器里没有 \(300\),查找落到 end(),计数为 \(0\)。
信息
- ID
- 1225
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者