Decryption of cyclic string shift
Swift
Hard
strings
任务 «Decryption of cyclic string shift»
给定一个加密字符串 S,由小写拉丁字母组成。它是通过将原始字符串 T 循环右移若干位置 k(0 ≤ k < |T|),然后将每个字符替换为字母表中的下一个字符(循环转换:'z' → 'a')得到的。需要找到长度最小的原始字符串 T,使得经过上述变换后得到 S。如果存在多个这样的 T,则选择字典序最小的一个。S 的长度为 1 到 1000。保证存在解。
输入格式
一行字符串 S(小写拉丁字母,长度从 1 到 1000)。
输出格式
一行 — 原始字符串 T,具有最小长度(且在长度最小的字符串中按字典序最小)。
示例
示例 1
输入
za
输出
yz
示例 2
输入
aaa
输出
z
示例 3
输入
5
3
0
输出
None
main.swift