字典序,水题。
#include <stdio.h>
#include <string.h>
#define MAXLEN 105
char seq[MAXLEN];
int lessThan(int p1, int p2, int len)
{
int i = 0;
while(i < len)
{
if(seq[(p1+i)%len] != seq[(p2+i)%len])
return seq[(p1+i)%len] < seq[(p2+i)%len];
++i;
}
return 0;
}
int main()
{
int T, i, len;
scanf("%d", &T);
while(T--)
{
scanf("%s", seq);
len = strlen(seq);
int ans = 0;
for(i = 1; i < len; ++i)
if(lessThan(i, ans, len)) ans = i;
for(i = 0; i < len; ++i)
putchar(seq[(ans+i)%len]);
putchar('\n');
}
return 0;
}