您的位置:首页 > 产品设计 > UI/UE

Uva 1584 Circular Sequence

2015-06-07 18:12 375 查看
//

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

//

#include<stdio.h>
#include<string.h>
#define maxn 105
int 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: