思路

可以使用vector,也可以使用双向队列(deque)去做,
幸好数据能过D操作,不然就要手打了。

代码

#include<bits/stdc++.h>
#define int ll
using namespace std;
typedef long long ll;
deque<int>dq;
int x,t;
char c;
signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
     cin>>t;
    for(int i=1,cnt=1;i<=t;i++){
        cin>>c;
        if(c=='A'){
            cin>>c;
            if(c=='L') dq.push_front(cnt);
            else if(c=='R') dq.push_back(cnt);
            cnt++;
        }
        if(c=='D'){
            cin>>c>>x;
            if(c=='L'){
                 for(int j=1;j<=x;j++) dq.pop_front();
            }
            else if(c=='R'){
                for(int j=1;j<=x;j++) dq.pop_back();
            }
        }
    }

    deque<int>::iterator it;
    for(it=dq.begin();it!=dq.end();it++){
        cout<<*it<<endl;
    }
    return 0;
}