我自己算了一下时间复杂度应该没到啊,还是我算错了?或写错了?
写错了的话请大佬给个思路或核心代码,谢谢TAT
题面
样例
代码
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
struct point
{
string s;
int id;
};
point t[5001];
bool cmp(point a,point b)
{
if(a.s.compare(b.s)==0)return a.id<b.id;
else return a.s<b.s;
}
int main()
{
cin>>n;
cin>>s;
for(int k=1;k<=n;k++)
{
t[k].s=s;
t[k].id=k;
for(int i=0;i<=t[k].s.size()-k;i++)
reverse(t[k].s.begin()+i,t[k].s.begin()+i+k);
}
sort(t+1,t+n+1,cmp);
cout<<t[1].s<<endl<<t[1].id<<endl;
return 0;
}