HM224 集合盘点

HM224 集合盘点

HM224 集合盘点

来源: 第 224 集 set容器-大小和交换

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

集合是不允许重复元素的关联容器。插入只能用 insert,没有 push_back。无论插入顺序是否打乱,遍历时一定按升序出现。

集合只提供两种大小查询,**不提供** resize:若强行把长度改大并用 \(0\) 填充,会出现重复的 \(0\),这与集合“元素互异”矛盾。因此只能:

  • empty():判断是否为空;
  • size():返回当前元素个数。

两个集合可以用 swap 互换全部元素,交换后各自仍保持有序。

先把两段整数序列分别 inserts1s2。输出 s1 是否为空及其大小,再打印交换前的 s1s2,执行 s1.swap(s2) 后再次打印二者。打印使用迭代器从 begin 走到 end,元素之间一个空格。

输入格式

第一行一个整数 \(n_1\)。

第二行 \(n_1\) 个整数,按给定顺序插入 s1。当 \(n_1=0\) 时本行可以是空行。

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

第四行 \(n_2\) 个整数,按给定顺序插入 s2。当 \(n_2=0\) 时本行可以是空行。

输出格式

共五行:

  1. s1.empty() 为真,输出 EMPTY0;否则输出 NONEMPTYs1.size(),中间一个空格;
  2. 交换前的 s1
  3. 交换前的 s2
  4. 交换后的 s1
  5. 交换后的 s2

空集合对应的那一行只输出换行。

样例

输入 #1

4
10 30 20 40
4
100 300 200 400

输出 #1

NONEMPTY 4
10 20 30 40
100 200 300 400
100 200 300 400
10 20 30 40

输入 #2

0

3
5 1 3

输出 #2

EMPTY 0

1 3 5
1 3 5

说明

\(0 \le n_1,n_2 \le 1000\),元素绝对值不超过 \(10^9\)。

样例 #1 无序插入后自动排成升序;swap 只互换内容,不改变各自的有序性。样例 #2 的 s1 一开始为空,交换后得到原来的 s2,原来的 s1(空)落到 s2

信息

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