HM208 双端月台点货

HM208 双端月台点货

HM208 双端月台点货

来源: 第 208 集 deque容器-数据存取

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

双端月台上的元素除了用迭代器取出,也可以按下标点名,方式和动态数组、字符串相同。请从空月台开始,按指令做若干次尾插或头插,然后用四种方式访问最终序列:

  1. [] 按下标 \(0,1,\ldots,\textit{size}-1\) 依次取出。循环上界用 size()
  2. at 再取一遍。
  3. front() 取第一个元素。
  4. back() 取最后一个元素。

保证最终至少有一个元素。注意头插会改变「谁在最前面」:先尾插再连续头插时,后头插的数会出现在更靠前的位置。

输入格式

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

接下来 \(q\) 行,每行两个整数 \(t\)、\(x\):

  • \(t=1\):push_back(x)
  • \(t=2\):push_front(x)

输出格式

第一行:用 [] 取出的全部整数,空格分隔,行末无多余空格。

第二行:用 at 取出的全部整数,格式同上。

第三行:一个整数,即 front()

第四行:一个整数,即 back()

样例

输入 #1

6
1 10
1 20
1 30
2 100
2 200
2 300

输出 #1

300 200 100 10 20 30
300 200 100 10 20 30
300
30

输入 #2

3
2 1
1 2
2 3

输出 #2

3 1 2
3 1 2
3
2

说明

\(1 \le q \le 1000\),\(|x| \le 10^9\)。

样例 #1 先尾插 \(10,20,30\),再依次头插 \(100,200,300\),最终从左到右是 \(300,200,100,10,20,30\)。[]at 都能按下标访问;front 是第一个元素,back 是最后一个元素。

信息

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