#B3656. 【模板】双端队列 1
【模板】双端队列 1
题目背景
Aya 衷心祝愿大家不再因为 std::deque()
重蹈覆辙。
题目描述
请你实现 个双端队列,支持如下的 次操作:
push_back(a,x)
:在第 个双端队列中从尾部插入一个元素 ;pop_back(a)
:在第 个双端队列中从尾部弹出一个元素。push_front(a,x)
:在第 个双端队列中从头部插入一个元素 ;pop_front(a)
:在第 个双端队列中从头部弹出一个元素。size(a)
:查询第 个双端队列的元素个数;front(a)
:查询第 个双端队列的队首元素;back(a)
:查询第 个双端队列的队尾元素;
对于 pop_back
,pop_front
,front
和 back
操作,若当前双端队列为空则不进行,直接跳过该次操作。
输入格式
输入的第一行是一个正整数 ,表示操作次数。
接下来 行,每行先是一个字符串,保证为 push_back
或者 pop_back
或者 push_front
或者 pop_front
或者 size
或者 front
或者 back
之一。接下来是 或 个正整数,分别表示 和 。
输出格式
对于每个 size
或者 front
或者 back
操作,输出一行表示答案。
10
pop_back 2
push_back 1 1
push_front 1 3
push_front 2 2
push_front 2 3
pop_back 1
size 1
push_back 2 3
back 1
front 1
1
3
3
提示
【数据范围】
子任务 | 分值 | ||
---|---|---|---|
对于所有数据,,。