题解 | #小C的记事本#
小C的记事本
https://ac.nowcoder.com/acm/problem/15975
Code
#include <bits/stdc++.h> using namespace std; const int N = 1e6+10; string stk[N]; int hh; int main(){ int q; while(cin>>q){ hh=0; for(int i=1;i<=q;i++){ int op; cin>>op; if(op==1){ string s; cin>>s; stk[hh+1]=stk[hh]+s; hh++; } else if(op==2){ int k; cin>>k; string s=stk[hh]; reverse(s.begin(),s.end()); s.erase(s.begin(),s.begin()+k); reverse(s.begin(),s.end()); stk[++hh]=s; } else if(op==3){ int k; cin>>k; cout<<stk[hh][k-1]<<endl; } else hh--; } } return 0; }