HM234 学号点名
HM234 学号点名
来源: 第 234 集 map容器-查找和统计
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
map 按**键**查找和统计。
find(k) 返回迭代器:找到则指向那一对,解引用后可用 first 取键、second 取实值((*pos).first 或 pos->second 都可以);找不到则返回 end()。用“是否等于 end()”判断成败。
count(k) 按键统计个数。map 不允许重复键,结果**只能是 \(0\) 或 \(1\)**。即使再插入相同键、不同实值,后一对进不去,计数仍是 \(1\),留下的是先插入的实值。multimap 的 count 才可能大于 \(1\)。
先把输入键值对 insert 进 map。再处理若干询问:
F k:对键 \(k\) 做find。找到则输出FOUND、键和实值;否则输出NOTFOUND。C k:输出count(k)。
输入格式
第一行一个整数 \(n\)。
接下来 \(n\) 行,每行两个整数 \(k\)、\(v\)。当 \(n=0\) 时没有这些行。
然后一个整数 \(q\)。
接下来 \(q\) 行,每行一个字符(F 或 C)和一个整数。
输出格式
每个询问一行。F 找到时为 FOUND、键、实值,两两之间一个空格;找不到为 NOTFOUND。C 只输出一个整数。
样例
输入 #1
4
1 10
2 20
3 30
3 40
4
F 3
F 4
C 3
C 4
输出 #1
FOUND 3 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 后插入的 3 40 因键重复失败,find(3) 得到的实值仍是 \(30\),count(3) 仍是 \(1\)。
信息
- ID
- 1233
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者