HM232 词典柜台

HM232 词典柜台

HM232 词典柜台

来源: 第 232 集 map容器-大小和交换

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

map 的元素以键值对出现:模板参数要同时写清 keyvalue。插入用 insert,每一项是一个 pair。大小与交换和集合几乎相同:

  • empty():是否为空;
  • size():键值对个数;
  • swap:两个 map 互换全部元素。

遍历时用迭代器,键在 first,值在 second,用箭头取出。key 不重复,并按键自动升序。

先把两段键值对分别插入 m1m2。输出 m1 是否为空及其大小,打印交换前的两个容器,执行 m1.swap(m2) 后再打印。每个容器占一行,一对键值写成 key:value,对与对之间一个空格。

输入格式

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

接下来 \(n_1\) 行,每行两个整数 \(k\)、\(v\),按顺序插入 m1

然后一个整数 \(n_2\)。

接下来 \(n_2\) 行,每行两个整数,按顺序插入 m2

当某个 \(n=0\) 时,其后没有对应的键值行。

输出格式

共五行:

  1. m1.empty() 为真,输出 EMPTY0;否则输出 NONEMPTYm1.size()
  2. 交换前的 m1
  3. 交换前的 m2
  4. 交换后的 m1
  5. 交换后的 m2

空容器对应的那一行只输出换行。

样例

输入 #1

3
1 10
2 20
3 30
3
4 100
5 200
6 300

输出 #1

NONEMPTY 3
1:10 2:20 3:30
4:100 5:200 6:300
4:100 5:200 6:300
1:10 2:20 3:30

输入 #2

0
2
9 1
8 2

输出 #2

EMPTY 0

8:2 9:1
8:2 9:1

说明

\(0 \le n_1,n_2 \le 1000\),键与值的绝对值不超过 \(10^9\)。同一容器中后插入的重复键进不去。

样例 #1 与互换演示一致:先打印的始终是 m1,交换后 m1 变成原来的 4,5,6。样例 #2 的 m2 无序插入后按键排成 \(8\) 再 \(9\)。

信息

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