- 只用记录首字母位置
- 左移右移可以看作首字母位置的+或-
- 反转就看首字母位置和谁进行了对调
通过反转次数的奇偶性能知道字符串由首字母往左还是往右。
# include<bits/stdc++.h>
using namespace std;
char a[1000006],c,h,j;
long long n,x,s,t=1,m,cnt;
int main(){
cin>>a>>m;
n=strlen(a);
for(int i=1;i<=m;i++){
cin>>c;
if(c=='r'){
cin>>h>>j;
t=n+1-t;
cnt++;
}else{
cin>>x;
x=x%n;
if(c=='>') t=(t+x)%n;
else t=(t-x+n)%n;
}
if(t==0) t=n;
}
if(cnt%2==0){
for(int i=n-t+2;i<=n;i++) cout<<a[i-1];
for(int i=1;i<=n-t+1;i++) cout<<a[i-1];
}else{
for(int i=t;i>=1;i--) cout<<a[i-1];
for(int i=n;i>=t+1;i--) cout<<a[i-1];
}
return 0;
}