按照第一篇题解的思路写的,结果一堆 RE+WA,云剪贴板的代码看不到了。测试下来 erase 出现问题,但不知道原因本人代码:
#include<bits/stdc++.h>
using namespace std;
int n,pos,k;
string s,t,p;
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>t;
if(t[0]=='M'){
cin>>pos;
}
if(t[0]=='I'){
cin>>k;
getchar();
getline(cin,p);
s.insert(s.begin()+pos,p.begin(),p.end());
}
if(t[0]=='D'){
cin>>k;
s.erase(s.begin()+pos,s.begin()+pos+k);
}
if(t[0]=='R'){
cin>>k;
reverse(s.begin()+pos,s.begin()+pos+k);
}
if(t[0]=='G'){
putchar(s[pos]);
putchar('\n');
}
if(t[0]=='P'){
pos--;
}
if(t[0]=='N'){
pos++;
}
}
return 0;
}