点击打开链接
#include<iostream>
using namespace std;
int main()
{
string s1,s2;
cin>>s1;
s2=s1;
int m;cin>>m;
while(m--){
int l,r,k;cin>>l>>r>>k;
l--,r--;
int len = r-l+1;k%=len;///k那么大都比s1大了一定要优化啊
for(int i=0;i<len;i++){///直接一步到位,不管移动多少次,一个数据终将到达另一个数据位置。
s2[(i+k)%len+l]=s1[l+i];
}
for(int i=l;i<=r;i++)
s1[i]=s2[i];
}
cout<<s1<<endl;
}