Главная
 Сайт Андрея Зайчикова
Вторник, 7 Августа 2007г. 
Карта сайта Поиск по сайту Написать письмо  
 .:Навигатор 
Новости
Библиотека
Статьи
Олимпиады
FAQ (ЧаВо)
Гостевая книга 
Ссылки
 .:Информация 


Зашифрованное сообщение
В азбуке Морзе каждая буква кодируется с помощью двух символов: точка и тире. При посылке сообщений каждое слово это некоторая зашифрованная последовательность в символах Морзе, в которой между буквами не ставятся пробелы. Однако при расшифровке таких слов появляется неоднозначность перевода. Например, если буква F кодируется как ".-.", а буквы A и B соответственно "." и "-", то при получении последовательности ".-." возникает ситуация двухсмысленной интерпретации либо это слово "F", либо "ABA". Для устранения таких ситуаций дешифратору необходимо иметь словарь всех допустимых слов.
Итак, условимся кодировать символы следующим образом:
A . E .-- I -.- M ..-- Q .-.- U ---- Y -..-
B - F .-. J -.. N ..-. R .-.. V ---. Z -...
C ... G --. K .... O .--. S --.. W -.-.    
D ..- H --- L ...- P .--- T --.- X -.--    

Ввод:
Входной файл имеет следующий вид:
N // 0<=N<=100000-количество слов в словаре длиной не более 10 символов слово. Далее располагается список из N слов, разделенные между собой пробелами либо символами конца строки.
K // 0<=K<=20 количество зашифрованных слов Далее располагается список из K слов, зашифрованных азбукой Морзе, также разделенные между собой пробелами либо символами конца строки.

Вывод:
Результирующий файл должен содержать K строк, на каждой из которых через пробел записаны все возможные варианты интерпретации соответствующего закодированного слова и взятые из словаря в порядке их следования. Если раскодировать слово невозможно, то его интерпретацией является слово "Unknown".

Пример:

8
ENOUGH GUE THE WELL PROBLEM IS TO XJ
6
--.----.--
.---.-Е--.-Е-.--..--
-.---..
-.-..--Е-Е-
.--..-..--.------.---
-..-.

Результат:

GUE THE
PROBLEM
IS XJ
WELL
ENOUGH
Unknown

 
 © Андрей Зайчиков