Fiquei alarmado com o crescente ódio aos espaços e essa resposta me inspirou a garantir que o código Morse esteja a salvo dessa remoção insidiosa do espaço em branco.
Portanto, sua tarefa será criar um programa que possa traduzir com êxito o código Morse com todos os espaços removidos.
Regras:
A entrada será uma sequência que consiste apenas de traços e pontos (ASCII 2D e 2E). A saída é indefinida para a entrada que contém outros caracteres. Sinta-se à vontade para usar qualquer método conveniente ao seu idioma de escolha para receber a entrada (stdin, arquivo de texto, usuário imediato, qualquer que seja). Você pode supor que a entrada do código Morse consiste apenas nas letras AZ e que números ou pontuação correspondentes não são necessários.
A saída deve incluir apenas as palavras contidas nesse arquivo de dicionário (novamente, sinta-se à vontade para usar qualquer método conveniente para acessar o arquivo de dicionário). Todas as decodificações válidas devem ser enviadas para stdout e todos os pontos e traços na entrada devem ser usados. Cada palavra correspondente na saída deve ser separada por um espaço e cada possível decodificação deve ser separada por uma nova linha. Você pode usar letras maiúsculas, minúsculas ou letras maiúsculas como conveniente.
Todas as restrições sobre brechas padrão se aplicam com uma exceção, conforme mencionado acima; você pode acessar o arquivo de dicionário mencionado no requisito 2 por meio de uma conexão à Internet, se realmente desejar. O encurtamento de URL é aceitável, acredito que o goo.gl/46I35Z é provavelmente o mais curto.
Este é o código de golfe, o código mais curto vence.
Nota: A publicação do arquivo de dicionário no Pastebin alterou todas as terminações de linha para sequências 0A 0E do estilo Windows. Seu programa pode assumir terminações de linha apenas com 0A, apenas 0E ou 0A 0E.
Casos de teste:
Entrada:
......-...-.. ---. -----.-..-..- ..
A saída deve conter:
Olá Mundo
Entrada:
- ..-. ----- ..-.. ----- ..-. - .. - ... --- .. - ...-.... ... -.-..-.-. ---- ... -. ---.-....-.
A saída deve conter:
quebra-cabeças de programação e código de golfe
Entrada:
-..... -.-..-..-.-.-. - ....-. ---. --- ...-. ---- ..-.- ---- ---. - .... --- ...-..-.-......-... --- ..-. --- ..-- ---.
A saída deve conter:
a rápida raposa marrom pula sobre o cachorro preguiçoso
AN (.- -.)
eEG (. --.)
?