#ABC223B. 字符串移位
字符串移位
字符串移位
题目描述
对一个非空字符串,一次左移将其第一个字符移到字符串末尾,一次右移将其最后一个字符移到字符串开头。
例如,对 abcde 进行一次左移得到 bcdea,对 abcde 进行两次右移得到 deabc。
给定一个由小写英文字母构成的非空字符串 。在通过对 进行零次或多次左移以及零次或多次右移所能得到的字符串中,找出字典序最小的字符串和字典序最大的字符串。
什么是字典序?
简单来说,字典序就是单词在词典中排列的顺序。作为更正式的定义,下面给出确定两个不同字符串 和 的字典序大小的算法。
下面,用 表示 的第 个字符。另外,如果 在字典序上小于 ,记作 ;如果 在字典序上大于 ,记作 。
设 为 和 中较小的长度。对每个 ,检查 和 是否相同。
如果存在 使得 ,设 为最小的这样的 。然后比较 和 :如果 在字母顺序上比 靠前,则判定 并结束;如果 比 靠后,则判定 并结束。
如果不存在 使得 ,则比较 和 的长度:如果 比 短,则判定 并结束;如果 比 长,则判定 并结束。
输入格式
输入按以下格式从标准输入给出:
输出格式
输出两行。第一行应包含 ,第二行应包含 。这里, 和 分别是对 进行零次或多次左移和右移所能得到的字符串中字典序最小和最大的字符串。
样例
aaba
aaab
baaa
通过移位可以得到四个字符串:aaab、aaba、abaa、baaa。其中字典序最小和最大的分别是 aaab 和 baaa。
z
z
z
任何操作序列都会得到 z。
abracadabra
aabracadabr
racadabraab
数据范围
- 由小写英文字母构成。
- 的长度在 到 (含)之间。
难度
普及-
通过率
—
尝试
0
已通过
0
- ID
- 2281
- 类型
- 传统题
- Time Limit
- 2000ms
- Memory Limit
- 1024MiB
- 上传者