HM218 链表伸缩
HM218 链表伸缩
来源: 第 218 集 list容器-大小操作
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
链表可以查询是否为空、统计元素个数,也可以重新指定长度:
empty():空则为真。size():元素个数。resize(m):改成长度 \(m\)。比原来长时,新位置**默认填 \(0\);重载版本resize(m, w)可指定填充值。比原来短时,超出的尾部会被删掉**。
先把输入序列尾插入,输出是否为空以及当前大小;再依次做三次 resize:默认填 \(0\)、指定填充值、再改一次长度。每次改完都打印整条链表。打印时使用 const 引用和 const_iterator。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数 \(a_i\)。当 \(n=0\) 时本行可以是空行。
第三行一个整数 \(m_1\),表示 resize(m1)。
第四行两个整数 \(m_2\)、\(w\),表示 resize(m2, w)。
第五行一个整数 \(m_3\),表示 resize(m3)。
输出格式
第一行两个整数:empty() 为真输出 1 否则 0,以及当前 size()。
随后三行:三次 resize 之后的全部元素,空格分隔,行末无多余空格。空链表输出空行。
样例
输入 #1
4
10 20 30 40
10
12 10000
2
输出 #1
0 4
10 20 30 40 0 0 0 0 0 0
10 20 30 40 0 0 0 0 0 0 10000 10000
10 20
输入 #2
0
6
10 7
0
输出 #2
1 0
0 0 0 0 0 0
0 0 0 0 0 0 7 7 7 7
说明
\(0 \le n \le 1000\),\(|a_i|,|w| \le 10^9\),\(0 \le m_1,m_2,m_3 \le 2000\)。
样例 #1 先从四个数加长到 \(10\) 默认补 \(0\),再加长到 \(12\) 并用 \(10000\) 填新位置,最后截到前 \(2\) 个。填充值只作用于新增长出来的位置。样例 #2 最后 resize(0) 得到空链表,该行只输出换行。
信息
- ID
- 1217
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者