洛谷P2952 牛线Cow Line 题解 双端队列deque的使用

题目链接:https://www.luogu.com.cn/problem/P2952

这道题目是一道双端队列入门题,我这里用STL容器提供的deque直接实现这个功能。

实现代码如下:

#include <bits/stdc++.h>
using namespace std;
deque<int> que;
int n, c, a;
string s, t;
int main() {
    cin >> n;
    while (n --) {
        cin >> s >> t;
        if (s == "A") {
            if (t == "L") que.push_front(++c);
            else que.push_back(++c);
        }
        else {
            cin >> a;
            if (t == "L") while (!que.empty() && a --) que.pop_front();
            else while (!que.empty() && a --) que.pop_back();
        }
    }
    while (!que.empty()) {
        cout << que.front() << endl;
        que.pop_front();
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/quanjun/p/12288926.html
今日推荐