欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

UVa 1584 - Circular Sequence

程序员文章站 2022-07-12 16:31:11
...

  这道题参看了书上的解法,学习使用函数。

 

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