题目链接: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;
}