Если нужно выбрать из вариантов, достаточно проверить, что код префиксный и найти общую длину сообщения в каждом случае.1) ✔ префиксныйдлина А: 1, длина Б: 2, длина В: 3, длина Г: 3Длина сообщения: 10 * 1 + 5 * 2 + 20 * 3 + 5 * 3 = 10 + 10 + 60 + 15 = 95 бит2) ✔ префиксныйдлины кодовых слов: 2Длина сообщения: (10 + 5 + 20 + 5) * 2 = 40 * 2 = 80 бит3) ✘ не префиксный (11 - префикс 111)4) ✔ префиксныйдлина А: 2, длина Б: 3, длина В: 1, длина Г: 3Длина сообщения: 10 * 2 + 5 * 3 + 20 * 1 + 5 * 3 = 20 + 15 + 20 + 15 = 70 битНаиболее оптимальный код 4).Если бы нужно было бы найти какое-нибудь оптимальное префиксное кодирование, можно было бы построить код Хаффмана.Выписываем частоты символов, а затем объединяем наименее часто встречающиеся символы, почлучая кодовое дерево.А - 10, Б - 5, В - 20, Г - 5А - 10, (БГ) - 10, В - 20(А(БГ)) - 20, В - 20(В(А(БГ)) - 40Если в этой записи есть (XY), то к коду любой буквы из X приписываем слева 0, для любого символа из Y - 1. Начинаем с пустых кодов:(БГ) -> Б: 0, Г: 1(А(БГ)) -> А: 0, Б: 10, Г: 11(В(А(БГ)) -> В: 0, А: 10, Б: 110, Г: 111.Доказано, что такой код будет оптимальным.