Introduciton
Alguns de vocês devem ter percebido que sou um digitador desleixado ao usar meu telefone. É por isso que quero que você escreva um programa que corrija meus erros de digitação.
Chalkrnge
Dada uma palavra incorreta, imprima todas as palavras possíveis que eu pretendia escrever.
Typso
A principal causa dos meus erros de digitação se deve ao fato de eu apertar as teclas erradas e freqüentemente apertar a tecla ao lado. A seguir, é o layout do meu teclado:
q w e r t y u i o p
a s d f g h j k l
z x c v b n m
, [ space ] .
Observe que a linha inferior , [ space ] .
nunca será usada neste desafio
Por alguma razão, eu apenas cometo erros horizontalmente: nunca atingiria n em vez de j , mas poderia atingir um f em vez de um d .
Por exemplo, eu poderia acabar soletrando a palavra desleixada como:
akioot
Onde eu fui à esquerda de cada chave.
No entanto, não esqueça que eu posso não necessariamente cometer um erro em todas as letras da palavra.
Ezsmple
Digamos que a entrada seja:
vid
As possibilidades que a palavra poderia ter sido são:
vid cid bid
vis cis bis
vif cif bif
vod cod bod
vos cos bos
vof cof bof
vud cud bud
vus cus bus
vuf cuf buf
Destes, estão os seguintes no dicionário:
cod
cud
bid
bud
bus
Então essa deve ser sua saída.
Rulws
Você deve usar apenas o arquivo de texto encontrado aqui como seu dicionário: http://mieliestronk.com/corncob_lowercase.txt . Você não precisa contar esse arquivo como parte da sua contagem de bytes.
Toda entrada será uma única palavra. Você pode exibir sua saída da maneira que desejar (desde que exista algum tipo de separador).
Suponha que, com todas as entradas, você encontrará uma variante que está no dicionário.
Wibninf
O código mais curto em bytes vence.
""
?