// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 const КолСтрок=3; КолСтолбцов=5; begin var Массив: array [1..КолСтрок,1..КолСтолбцов] of integer; var СуммыПоСтрокам: array[1..КолСтолбцов] of integer; Writeln('Введите элементы массива (',КолСтрок,',', КолСтолбцов,') построчно:'); for var строка:=1 to КолСтрок do for var столбец:=1 to КолСтолбцов do begin Read(Массив[строка,столбец]); СуммыПоСтрокам[строка]+=Массив[строка,столбец] end; Writeln('Суммы построчно:'); for var строка:=1 to КолСтрок do Print(СуммыПоСтрокам[строка]) end.
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
1) 1 = 1
2) 2 = 2
Ну вот)