#3510. String Shifting
String Shifting
String Shifting
题目描述
On a non-empty string, a left shift moves the first character to the end of the string, and a right shift moves the last character to the beginning of the string. For example, a left shift on results in , and two right shifts on result in . You are given a non-empty consisting of lowercase English letters. Among the strings that can be obtained by performing zero or more left shifts and zero or more right shifts on , find the lexicographically smallest string and the lexicographically largest string.
What is the lexicographical order?
Simply speaking, the lexicographical order is the order in which words are listed in a dictionary. As a more formal definition, here is the algorithm to determine the lexicographical order between different strings and .
Below, let denote the -th character of . Also, if is lexicographically smaller than , we will denote that fact as ; if is lexicographically larger than , we will denote that fact as .
-
Let $L$ be the smaller of the lengths of $S$ and $T$. For each $i=1,2,\dots,L$, we check whether $S_i$ and $T_i$ are the same.
If there is an $i$ such that $S_i \neq T_i$, let $j$ be the smallest such $i$. Then, we compare $S_j$ and $T_j$. If $S_j$ comes earlier than $T_j$ in alphabetical order, we determine that $S \lt T$ and quit; if $S_j$ comes later than $T_j$, we determine that $S \gt T$ and quit.
If there is no such that , we compare the lengths of and . If is shorter than , we determine that and quit; if is longer than , we determine that and quit.
输入格式
Input is given from Standard Input in the following format:
输出格式
Print two lines. The first line should contain , and the second line should contain . Here, and are respectively the lexicographically smallest and largest strings obtained by performing zero or more left shifts and zero or more right shifts on .
aaba
aaab
baaa
z
z
z
abracadabra
aabracadabr
racadabraab
提示
consists of lowercase English letters.
The length of is between and (inclusive).By performing shifts, we can obtain four strings: , , , . The lexicographically smallest and largest among them are and , respectively.
Any sequence of operations results in .
标签: AtCoder|abc223B
来源
AtCoder|abc223B