Вопрос:

3. От разведчика была получена следующая шифрованная радиограмма, переданная с использованием азбуки Морзе: 11110010011000. При передаче радиограммы было потеряно разбиение на буквы, известно, что в радиограмме использовались только следующие буквы: E, H, O, 3, Щ. Определите текст радиограммы. В ответе укажите, сколько букв было в исходной радиограмме.

Ответ:

Решение:

Расшифруем радиограмму, используя предоставленные коды букв:

БукваКод
E0
H10
O111
31100
Щ1101

Исходная радиограмма: 11110010011000

Попробуем декодировать, начиная с начала:

  • 1111 — этот код не соответствует ни одной из букв.
  • 1101 — соответствует букве Щ. Остаток: 1110010011000
  • 111 — соответствует букве O. Остаток: 0010011000
  • 0 — соответствует букве E. Остаток: 010011000
  • 0 — соответствует букве E. Остаток: 10011000
  • 100 — это не полный код.
  • 10 — соответствует букве H. Остаток: 011000
  • 0 — соответствует букве E. Остаток: 11000
  • 1100 — соответствует букве 3. Остаток: 0
  • 0 — соответствует букве E. Остаток: пустой.

Полученная последовательность букв: ЩOEEHE3E. Это 8 букв.

Проверим другой вариант разбиения, если начнем с самого длинного кода:

  • 1101Щ. Остаток: 1110010011000
  • 111O. Остаток: 0010011000
  • 0E. Остаток: 010011000
  • 0E. Остаток: 10011000
  • 10H. Остаток: 011000
  • 0E. Остаток: 11000
  • 11003. Остаток: 0
  • 0E. Остаток: пусто.

Результат тот же: ЩOEEHE3E.

Попробуем еще раз, ища более короткие коды в начале:

  • 11003. Остаток: 1110010011000
  • 111O. Остаток: 0010011000
  • 0E. Остаток: 010011000
  • 0E. Остаток: 10011000
  • 10H. Остаток: 011000
  • 0E. Остаток: 11000
  • 11003. Остаток: 0
  • 0E. Остаток: пусто.

Получаем: 3OEEHE3E. Это также 8 букв.

Рассмотрим случай, когда в начале идут коды, которые могут быть частью других кодов, но при этом оставляют возможность для полного декодирования:

Начало: 11110010011000

Возможные варианты:

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв.

1100 (3) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв.

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 1100 (3) + 0 (E) = 7 букв. (но остается 11000, не декодируется)

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10011000 (не декодируется)

1100 (3) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв.

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв. -> ЩОЕЕНЗЕ

1100 (3) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв. -> ЗОЕЕНЗЕ

Проверим последовательность 11110010011000. Если предположить, что 1111 — это не буква, а ошибка, и начать с 1101 (Щ):

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв. -> ЩОЕЕНЗЕ

Если предположить, что 1111 — это 1 (неизвестная буква) + 110 (неизвестная буква), или 1 (неизвестная буква) + 10 (H) + 0 (E). Это усложняет задачу.

Давайте пересмотрим коды:

  • E: 0
  • H: 10
  • O: 111
  • 3: 1100
  • Щ: 1101

Радиограмма: 11110010011000

Начнем с наиболее вероятного декодирования:

1101 (Щ) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв.

Это дает текст: ЩОЕЕНЗЕ.

Другой вариант: 1100 (3) + 111 (O) + 0 (E) + 0 (E) + 10 (H) + 0 (E) + 1100 (3) + 0 (E) = 8 букв.

Это дает текст: ЗОЕЕНЗЕ.

Наиболее вероятным является первый вариант, так как 1101 (Щ) более вероятно, чем 1100 (3) начинать цепочку, учитывая последующие 111.

В любом случае, при правильном декодировании получается 8 букв.

Ответ: 8