Задача к ЕГЭ по информатике на тему «кодирование буквенной последовательности» №1

Для 6 букв латинского алфавита заданы их двоичные коды (для некоторых букв — из двух бит, для некоторых — из трех). Эти коды представлены в таблице:

     |   |     |   |   |   a  | b | c   |d  |e  | f -----|---|-----|---|---|-----  101 |01 |000  |00 |11 |100

Какой набор букв закодирован двоичной строкой 101000110100100? Буквы не могут повторяться.

Из таблицы видно, что в данной ситуации не выполнены условие Фано (кодовое слово любой буквы не является началом кодового слова другой) и обратное условие Фано (кодовое слово любой буквы не является концом кодового слова другой), поэтому код нельзя раскодировать однозначно.

Разбиваем двоичную строку на части (слева направо) с помощью данной в условии таблицы (получим 2 возможных случая):

(1) 101|000|11|01|00|100

(2) 101|00|01|101|00|100

Во (2) случае мы видим повторение кодовых слов 00 и 101. Значит, случай (2) не подходит (т.к. по условию буквы не могут повторяться).

Значит, наш ответ – (1) случай. Перепишем его, заменяя кодовые слова на буквы: 101|000|11|01|00|100 = acebdf.

Ответ: acebdf
Оцените статью
Я решу все!