水题。
#include<cstdio> #include<cstring> #include<cmath> #include<vector> #include<algorithm> using namespace std; char s[10000+10]; char tmp[10000+10]; int cnt; int m; int main() { scanf("%s",s); scanf("%d",&m); for(int i=1;i<=m;i++) { int li,ri,k; scanf("%d%d%d",&li,&ri,&k); li--;ri--; cnt=0; for(int i=li;i<=ri;i++) tmp[cnt++]=s[i]; tmp[cnt]=0; int len=ri-li+1; int pos=k%len; pos=pos+li; // printf(" **** %d ",pos); int u=0; for(int i=pos;i<=ri;i++) s[i]=tmp[u++]; for(int i=li;i<pos;i++) s[i]=tmp[u++]; } printf("%s ",s); return 0; }