№4 · решено
Слово КОЛОБОК
По каналу связи передаются сообщения, содержащие только буквы из набора: Б, К, Л, О, Н. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б – 00, Н – 010, Л – 111. Для двух оставшихся букв К и О кодовые слова неизвестны. Какое количество двоичных знаков требуется для кодирования слова КОЛОБОК, если известно, что оно закодировано минимально возможным количеством двоичных знаков? Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Источник: ФИПИ (демоверсия), № 31501
Ответвпиши то, что получилось
Показать разбор
- Посчитай буквы в КОЛОБОК: К 2 раза, О 3, Л 1, Б 1.
- Нарисуй дерево: влево 0, вправо 1. Отметь занятые слова 00, 010, 111, всё ниже них закрыто.
- Выпиши свободные узлы: 011, 10 и 110. Двум буквам хватает, делить ничего не надо.
- Самый короткий узел 10 отдай самой частой букве О, а К возьмёт любой из узлов длины 3.
- Посчитай длину слова: для каждой буквы умножь длину кода на число её повторов и сложи, известные буквы Л и Б тоже входят.