SZ#G4B20. 【GESP强化 四级】循环字符串

提交1 通过1
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11262 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 普及- 上传者: 标签>GESPGESP强化C++c++编程题进制转换和字符串字符串循环移位字典序

题目描述

对一个非空字符串进行一次左移,会把第一个字符移动到末尾;进行一次右移,会把最后一个字符移动到开头。例如,abcde 左移一次得到 bcdea,右移两次得到 deabc

给定只含小写英文字母的字符串 SS,可以执行零次或多次左移,也可以执行零次或多次右移。小泽把所有能够得到的字符串放在一起,找出其中字典序最小和字典序最大的字符串。

字典序就是词典中的先后顺序:从左到右找到第一对不同字符,字母更靠前的字符串更小;若较短字符串的全部字符都是较长字符串的前缀,则较短者更小。本题所有循环移位结果长度相同,因此比较时只需关注第一对不同字符。

输入格式

输入一行,一个非空字符串 SS

输出格式

第一行输出所有循环移位结果中字典序最小的字符串,第二行输出字典序最大的字符串。

aaba
aaab
baaa
z
z
z
abracadabra
aabracadabr
racadabraab

样例解释

样例 #1

四种不同移位结果为 aaabaabaabaabaaa,最小和最大值如输出所示。

样例 #2

只有一个字符,任何移位都不改变字符串。

数据范围与约定

  • 1S10001 \le |S| \le 1000
  • SS 只包含小写英文字母