Расшифровка циклического сдвига строки
Swift
Сложный
strings
Задача «Расшифровка циклического сдвига строки»
Дана зашифрованная строка 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