B. deque & 双端队列

    传统题 1000ms 256MiB

deque & 双端队列

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

deque<int>qdeque <int> q

常用函数

q.push_back(value)value 添加到队列的末尾。

q.push_front(value)value 添加到队列的首部。

q.pop_back() 弹出队列最后一个元素。

q.pop_front() 弹出队列第一个元素。

q.size() 返回队列中元素的数量。

注意: 包含 #include <queue>

#include <iostream>
#include <queue>
using namespace std;
deque<int> q;
int main()
{
    int n;
    cin >> n;
     
    for(int i = 0; i < n; ++ i)
    {
        int op, t;
        cin >> op;
        if(op == 1)
        {
            cin >> t;
            q.push_back(t);
        }
        else if(op == 2)
        {
            cin >> t;
            q.push_front(t);
        }
        else if(op == 3)
        {
            q.pop_back();
        }
        else
        {
            q.pop_front();
        }
    }
    for(int i = 0; i < q.size(); ++ i) cout << q[i] << ' ';
    return 0;
}

输入格式

11 行,为一个正整数 nn

接下来 nn 行,每行一个正整数 opop

opop11 则接着输入一个整数 tt, 并将其 q.push_back(t)q.push\_back(t) 入队。

opop22, 则接着输入一个整数 tt, 并将其 q.push_front(t)q.push\_front(t) 入队。

opop33,则弹出队列最后一个元素。

opop44,则弹出队列第一个元素。

数据保证 opop3344 时队列不为空。

输出格式

共一行,输出操作后的 dequedeque

数据范围

1n105.1 ≤ n ≤ 10^5.

1t105.1 ≤ t ≤ 10^5.

输入样例:

3
1 2
2 1
4

输出样例:

2

常用 STL & (最后一舞)

未参加
状态
已结束
规则
ACM/ICPC
题目
6
开始于
2024-11-7 19:00
结束于
2024-11-7 21:00
持续时间
2 小时
主持人
参赛人数
6