Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что все кодовые слова содержат не меньше двух двоичных знаков, а слову БАРАН соответствует код 10011111011010. Какое наименьшее количество двоичных знаков может содержать сообщение, кодирующее слово РОБОТ?
Заметим, что буква А повторяется в слове БАРАН два раза. Буква Н стоит в конце слова, кодовое слово 10 для буквы Н не подходит, поскольку тогда невозможно будет подобрать такое кодовое слово для буквы А, которое может встретиться в коде 10011111011010 два раза. Кодовое слово 1010 для буквы Н не подходит, поскольку в этом случае либо невозможно будет подобрать такое кодовое слово для буквы А, которое может встретиться в коде 10011111011010 два раза, либо невозможно будет подобрать такое кодовое слово для буквы А, которое не будет нарушать условие Фано. Значит, букве Н соответствует кодовое слово 010.
Букву А можем закодировать только кодовым словом 011, поскольку при выборе кодового слова 11 не останется кодового слова для буквы Р, не нарушающего условия Фано, а кодовое слово 1011 не встречается в коде 10011111011010 два раза. Тогда букве Б соответствует кодовое слово 10, а букве Р соответствует кодовое слово 111.
Буква О встречается в слове РОБОТ два раза, закодируем её кодовым словом 00. Букву Т закодировать кодовым словом 110 нельзя, поскольку не останется кодовых слов для остальных букв русского алфавита, поэтому букве Т соответствует кодовое слово 1100. Тогда сообщение, кодирующее слово РОБОТ, содержит 3 + 2 + 2 + 2 + 4 = 13 двоичных знаков.
Ответ: 13.

