HM227 重复安检
HM227 重复安检
来源: 第 227 集 set容器-set和multiset区别
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
set 与 multiset 头文件相同、接口几乎一样,差别在于是否允许重复。
set::insert 的返回值是对组 pair:first 是迭代器,指向插入位置(或已有的那个相等元素);second 是 bool,为真表示插入成功,为假表示因重复而失败。要看成败,取 ret.second。
multiset::insert 只返回迭代器,不做重复检测:只要类型匹配就插进去。因此同一个数可以插很多次,遍历时会全部出现。
需要去重时选 set,需要保留重复时选 multiset。
把输入序列依次插入一个 set 和一个 multiset。每一次对 set 的插入都要接收返回的对组,并根据 second 报告成功或失败。multiset 只插入、不判断成败。最后按各自迭代器打印两个容器。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数,按给定顺序插入。当 \(n=0\) 时本行可以是空行。
输出格式
先输出 \(n\) 行:第 \(i\) 次向 set 插入的结果,成功为 SUCCESS,失败为 FAIL。
然后一行:set 中的全部元素(升序、去重)。
最后一行:multiset 中的全部元素(升序、保留重复)。
空容器对应的那一行只输出换行。
样例
输入 #1
2
10 10
输出 #1
SUCCESS
FAIL
10
10 10
输入 #2
4
10 20 10 10
输出 #2
SUCCESS
SUCCESS
FAIL
FAIL
10 20
10 10 10 20
说明
\(0 \le n \le 1000\),元素绝对值不超过 \(10^9\)。
必须用 insert 的返回对组判断 set 的成败,不要自己先 find 再决定是否插入。multiset 的 insert 没有这份成败标记。
信息
- ID
- 1226
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者