Задача типа #4: Условие Фано
Условие Фано
По каналу связи передаются сообщения, содержащие только восемь букв: А, В, Е, Л, Н, О, С, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: В - 10, Л - 01, С - 0001, Я - 111. Для четырёх оставшихся букв А, Е, Н, и О кодовые слова неизвестны.
Какое наименьшее количество двоичных знаков требуется для кодирования слова ВСЕЛЕННАЯ?
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Алгоритм решения: Построить двоичное ‘дерево’, определить нахождение известных по условию букв, найти положение с учётом минимальной длины кода для каждой оставшейся буквы и количества каждой буквы в слове.
Возможно другое решение.
Посмотреть решение задачи (код на Python) в Telegram боте по ID задачи 104013