思路
可以使用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; }