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