Uva 1584 Circular Sequence

来源:互联网 发布:reword.it 编辑:程序博客网 时间:2024/04/30 11:30

//

借鉴刘汝佳代码, 成环问题, 用%n可以简化代码

//

#include<stdio.h>#include<string.h>#define maxn 105int less(const char *s, int p, int q){    int n = strlen(s);    for(int i = 0; i < n; ++i)    {        if(s[(p+i)%n] != s[(q+i)%n])            return s[(p+i)%n] < s[(q+i)%n];    }    return 0;}int main(){    int T;    char s[maxn];    scanf("%d", &T);    while(T--)    {        scanf("%s",s);        int ans = 0;        int n = strlen(s);        for(int i = 1; i < n; ++i)        {            if(less(s,i,ans)) ans = i;        }        for(int i = 0;i < n; ++i)        {            putchar(s[(i+ans)%n]);        }        putchar('\n');    }    return 0;}


0 0
原创粉丝点击