Задача типа #4: Условие Фано
Условие Фано
По каналу связи передаются сообщения, содержащие только восемь букв: А, Б, В, Г, Д, Е, Ж и З. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны.
А - 00
Б - 1000
В - 010
Г - 1001
Д - 011
Е - 111
Какое наименьшее количество двоичных знаков требуется для кодирования двух оставшихся букв?
В ответе запишите суммарную длину кодовых слов для букв Ж, З.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Алгоритм решения: Построить двоичное ‘дерево’, определить нахождение известных по условию букв, найти положение с учётом минимальной длины кода для каждой оставшейся буквы.
Возможно другое решение.
Посмотреть решение задачи (код на Python) в Telegram боте по ID задачи 104008