#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <queue>
#include <stack>
#include <set>
#include <map>
using namespace std;
const int maxn = 105;
int judge(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(judge(s,i,ans))ans=i;
}
for(int i=0;i<n;i++){
putchar(s[(i+ans)%n]);
}
putchar('\n');
}
return 0;
}
环状序列(UVA 1584)
最新推荐文章于 2022-12-11 17:28:52 发布