Kicker Críptico
Um método comum, porém inseguro, de criptografar texto é permutar as letras do alfabeto. Em outras palavras, cada letra do alfabeto é consistentemente substituída no texto por alguma outra letra. Para garantir que a criptografia seja reversível, duas letras não serão substituídas pela mesma letra. Sua tarefa é descriptografar várias linhas de texto codificadas, assumindo que cada linha use um conjunto diferente de substituições e que todas as palavras no texto descriptografado sejam de um dicionário de palavras conhecidas.
Entrada
A entrada consiste em palavras em minúsculas, em ordem alfabética. Essas palavras compõem o dicionário de palavras que podem aparecer no texto descriptografado. A seguir ao dicionário, várias linhas de entrada. Cada linha é criptografada como descrito acima.
Não há mais de 1.000 palavras no dicionário. Nenhuma palavra excede 16 letras. As linhas criptografadas contêm apenas letras minúsculas e espaços e não excedem 80 caracteres.
Resultado
Descriptografe cada linha e imprima-a na saída padrão. Se houver várias soluções, qualquer um fará. Se não houver solução, substitua todas as letras do alfabeto por um asterisco.
Entrada de amostra
and dick jane puff spot yertle
bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn
xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd
Saída de amostra
dick and jane and puff and spot and yertle
**** *** **** *** **** *** **** *** ******
Aqui está a solução. Observe que eu não sou um cavalo correndo na corrida pelos bytes mais curtos / programador competitivo. Eu apenas gosto de quebra-cabeças!
( Fonte )