有哪位大佬可以给我第4个测试点?TLE了!
时间复杂度为O(n2×log2n),代码如下:
#include<bits/stdc++.h>
using namespace std;
string str;
int len,a[100010];
bool cmp(int a,int b){
int k1=a,k2=b;
for(int i=0;i<len;i++){
if(str[k1]!=str[k2]) return str[k1]<str[k2];
k1++;
if(k1>=len) k1-=len;
k2++;
if(k2>=len) k2-=len;
}
return 1;
}
int main(){
cin>>str;
len=str.length();
for(int i=0;i<len;i++) a[i]=i;
sort(a,a+len,cmp);
for(int i=0;i<len;i++){
int p=len-1+a[i];
if(p>=len) p-=len;
putchar(str[p]);
}
return 0;
}