CodeForces 598B Queries on a String

水题。

#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\n",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\n",s);
    return 0;
}

 

posted @ 2016-05-07 20:44  Fighting_Heart  阅读(128)  评论(0编辑  收藏  举报