牛客练习赛31 D神器大师泰兹瑞与威穆

时间:2021-03-23 07:59:27

双链表搞完了

#include<bits/stdc++.h>
using namespace std;
#define maxn 1000005
int tot,bac[maxn],fa[maxn];
char a[maxn],b[maxn];
int main(){
   cin>>(a+);
   cin>>(b+);
   tot=;
   //cout<<strlen(a)<<endl;
   ),lb=strlen(b+);
   ;j<=la;j++){
      fa[j]=tot-;
      ))
        bac[j]=-;
      else bac[j]=++tot;

      //cout<<j<<" "<<fa[j]<<" "<<bac[j]<<endl;
   }
   ;
   ;
   ;j<=lb;j++){
      ){
         if(b[j]=='e'){
           i=;
           continue;
         }
         int l=fa[z];
         a[++tot]=b[j];
         fa[tot]=l;
         bac[tot]=z;
         fa[z]=tot;
         bac[l]=tot;
         z=bac[tot];

      }else{
        if(b[j]=='i'){
           i=;
           continue;
        }
        else if(b[j]=='x'){
           int l=fa[z];
           int r=bac[z];
           //cout<<l<<" "<<r<<endl;
           ){
             fa[r]=l;
             bac[l]=r;
             z=bac[l];
           }else{
             z=l;
             bac[l]=-;
           }
        }
        else if(b[j]=='f'){
           ];
           ;ii=bac[ii]){
              if(a[ii]==c){
                 z=ii;
                 break;
              }
           }
           j++;
        }
        else if(b[j]=='l'){
           )
             z=bac[z];
        }
        else if(b[j]=='h'){
           z=fa[z];
           ) z=bac[z];
        }
      }
   }
   ;
   ){
      q=bac[q];
      cout<<a[q];
   }
}