题目描述:
题目思路:
直接模拟
1 #include<stdio.h> 2 #include<string.h> 3 #define maxn 105 4 int less(const char* s, int p, int q) { 5 int n = strlen(s); 6 for(int i = 0; i < n; i++) 7 if(s[(p+i)%n] != s[(q+i)%n]) 8 return s[(p+i)%n] < s[(q+i)%n]; 9 return 0; 10 } 11 12 int main() { 13 int T; 14 char s[maxn]; 15 scanf("%d", &T); 16 while(T--) { 17 scanf("%s", s); 18 int ans = 0; 19 int n = strlen(s); 20 for(int i = 1; i < n; i++) 21 if(less(s, i, ans)) ans = i; 22 for(int i = 0; i < n; i++) 23 putchar(s[(i+ans)%n]); 24 putchar(' '); 25 } 26 return 0; 27 }