Decodificação de deslocamento cíclico de string
Swift
Hard
strings
Tarefa «Decodificação de deslocamento cíclico de string»
Dada uma string criptografada S, composta por letras minúsculas do alfabeto latino. Ela foi obtida a partir da string original T por meio de um deslocamento cíclico à direita por um certo número de posições k (0 ≤ k < |T|) e, em seguida, substituindo cada caractere pelo próximo no alfabeto (com transição cíclica: 'z' → 'a'). É necessário encontrar a string original T de comprimento mínimo, tal que, após a transformação descrita, obtém-se S. Se houver múltiplas strings T, escolher a lexicograficamente mínima. O comprimento de S é de 1 a 1000. É garantido que existe uma solução.
Formato de Entrada
Uma única string S (letras minúsculas do alfabeto latino, comprimento de 1 a 1000).
Formato de Saída
Uma única string — a string original T de comprimento mínimo (e lexicograficamente mínima entre tais).
Exemplos
Exemplo 1
ENTRADA
za
SAÍDA
yz
Exemplo 2
ENTRADA
aaa
SAÍDA
z
Exemplo 3
ENTRADA
5
3
0
SAÍDA
None
main.swift