Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв — из двух бит, для некоторых — из трех). Эти коды представлены в таблице:
Какой набор букв закодирован двоичной строкой 100111000011? Буквы не могут повторяться.
Из таблицы видно, что в данной ситуации не выполнены условие Фано (кодовое слово любой буквы не является началом кодового слова другой) и обратное условие Фано (кодовое слово любой буквы не является концом кодового слова другой), поэтому код нельзя раскодировать однозначно.
Разбиваем двоичную строку на части (слева направо) с помощью данной в условии таблицы (получим 2 возможных случая):
(1) 10|01|110|00|011
(2) 10|011|10|00|011
Во (2) случае мы видим повторение кодовых слов 011 и 10. Значит, случай (2) не подходит (т.к. по условию буквы должны быть различные).
Значит, наш ответ – (1) случай. Перепишем его, заменяя кодовые слова на буквы: 10|01|110|00|011 = XWIZY.