题目:
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int e[N],l[N],r[N],idx;
void init(){
idx=2,r[0]=1,l[1]=0;
}
void add(int c ,int x){
e[idx]=x;
r[idx]=r[c];
l[idx]=c;
l[r[c]]=idx;
r[c]=idx;
idx++;
}
void remove(int c){
r[l[c]]=r[c];
l[r[c]]=l[c];
}
int main(){
int m;
scanf("%d",&m);
init();
while(m--){
char op[5];
int c,x;
scanf("%s",op);
if(op[0]=='L'){
scanf("%d",&x);
add(0,x);
}else if(op[0]=='R'){
scanf("%d",&x);
add(l[1],x);
}else if(op[0]=='D'){
scanf("%d",&c);
remove(c+1);
}else if(op[1]=='L'){
scanf("%d%d",&c,&x);
add(l[c+1],x);
}else {
scanf("%d%d",&c,&x);
add(c+1,x);
}
//printf("%s",op);
}
for(int i=r[0];i!=1;i=r[i])printf("%d ",e[i]);
return 0;
}