题目大意:
给定一个含有n个字母的环状字符串,可从任意位置开始按顺时针读取n个字母,输出其中字典序最小的结果。
解题思路:我直接模拟。。。。
题目链接:Circular Sequence UVA - 1584
ac代码:
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<iomanip>
using namespace std;
int main()
{
int t;
string s,ss[110];
scanf("%d",&t);
while(t--)
{
cin>>s;
int l = s.length();
s = s + s;
for(int i = 0; i < l; i++)
{
for(int j = 0; j < l; j++)
ss[i] += s[i+j];
}
sort(ss,ss+l);
cout << ss[0] << endl;
for(int j = 0; j < l; j++)
ss[j].erase();
s.erase();
}
return 0;
}