HM218 链表伸缩

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
通过率
?
上传者