题目描述
【模板】双端队列 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 操作,输出一行表示答案。
输入样例 #1
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
1
3
3
说明/提示
输入样例 #2
34
size 4
back 8
pop_back 2
pop_front 1
front 2
push_back 3 568854979
push_front 7 920762287
size 5
pop_back 3
pop_front 9
front 4
size 6
front 1
push_front 4 933629565
pop_back 4
back 2
front 7
push_back 1 973438318
size 4
push_front 8 326373678
pop_front 9
push_back 6 259788949
size 7
pop_front 2
size 6
back 6
back 4
front 6
pop_front 1
push_back 9 513375476
push_back 10 876027443
front 3
pop_front 8
pop_back 10
输出样例 #2
0
0
0
920762287
0
1
1
259788949
259788949
输入样例 #3
32
push_front 5 4399929
front 2
back 9
push_front 3 239462622
size 7
push_back 8 243681992
back 10
front 7
pop_back 5
push_back 2 549745025
back 4
size 9
push_front 1 519882941
back 3
pop_back 6
front 1
front 10
push_back 4 99512950
push_front 3 578317770
pop_back 2
size 3
front 10
push_back 9 364799092
front 6
pop_back 8
push_front 7 56327635
push_back 4 931890565
push_back 2 250705497
pop_front 1
push_back 6 586818590
pop_back 3
back 8
输出样例 #3
0
0
239462622
519882941
2
【数据范围】
| 子任务 | 分值 | ||
|---|---|---|---|
对于所有数据,,,