---
# System prepended metadata

title: UVa 1584 - Circular Sequence

---

# UVa 1584 - Circular Sequence

---
# 題目大意
給一字串，輸出它從某個位置當起點繞一圈形成的字串。要求輸出所有可能中字典序最小的答案。

---
# 題解
枚舉起點，每次跑一圈看字典序是否變小，若有則更新答案。答案紀錄的是索引值。


---
```=C++
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define INF 2147483647
#define ft first
#define sec second
#define pr pair<int,int>
#define ISCC ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
int t ,n ,m ,ans ,tp;
string s ;
int main() 
{
	ISCC;	
	cin >> t;
	getchar();
	while(t--)
	{	
		getline(cin,s);
		int len = s.size();  ans = 0;
		for(int i=1 ;i<len;i++)
		{
			for(int j=0 ;j<len ;j++) 
			{
				if(s[(ans+j)%len]-'A' > s[(i+j)%len]-'A') {ans = i; break;}
				else if(s[(ans+j)%len]-'A' < s[(i+j)%len]-'A') break;
			}
		}
		for(int i=0 ;i<s.size() ;i++) cout << s[(ans+i)%len];
		cout << '\n'; 
	}
}
```