HM232 词典柜台
HM232 词典柜台
来源: 第 232 集 map容器-大小和交换
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
map 的元素以键值对出现:模板参数要同时写清 key 与 value。插入用 insert,每一项是一个 pair。大小与交换和集合几乎相同:
empty():是否为空;size():键值对个数;swap:两个map互换全部元素。
遍历时用迭代器,键在 first,值在 second,用箭头取出。key 不重复,并按键自动升序。
先把两段键值对分别插入 m1、m2。输出 m1 是否为空及其大小,打印交换前的两个容器,执行 m1.swap(m2) 后再打印。每个容器占一行,一对键值写成 key:value,对与对之间一个空格。
输入格式
第一行一个整数 \(n_1\)。
接下来 \(n_1\) 行,每行两个整数 \(k\)、\(v\),按顺序插入 m1。
然后一个整数 \(n_2\)。
接下来 \(n_2\) 行,每行两个整数,按顺序插入 m2。
当某个 \(n=0\) 时,其后没有对应的键值行。
输出格式
共五行:
- 若
m1.empty()为真,输出EMPTY和0;否则输出NONEMPTY和m1.size(); - 交换前的
m1; - 交换前的
m2; - 交换后的
m1; - 交换后的
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
- 通过率
- ?
- 上传者