Петя отредактировал текст, каждая страница которого содержит 32 строки, в каждой строке 64 символа. После редактирования объём текста увеличился на 3 страницы. Каждый символ в статье кодируется 16 битами. Определите информационный объём статьи в Кбайтах в этом варианте представления Unicode после редактирования, если информационный объём текста до редактирования был равен 2 Мбайт.
** (* - любой из символов В или С)
*А*
ААА*АА*
АА*ААА*
А**
** (пока 6 вариантов)
Далее - аналогично:
**А
ААА*А*А
АА*АА*А
А*ААА*А
**А (ещё 5 вариантов)
ААА**АА
АА*А*АА
А*АА*АА
*ААА*АА (ещё 4 варианта)
АА**ААА
А*А*ААА
*АА*ААА (ещё 3 варианта)
А**
*А* (ещё 2)
** (ещё 1)
Итого: 6+5+4+3+2+1=21
Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая.
Можно здесь, конечно, комбинаторику вспомнить.
Итого: 21*4 = 84
// Внимание! Если программа не работает, обновите версию!
procedure MyProc;
begin
var n:=ReadInteger('Введите порядок матрицы:');
Writeln('Введите построчно элементы матрицы');
var a:=ReadMatrInteger(n,n);
Writeln(4*a.ColCount*'-');
Write('Строки, содержащие только нули: ');
for var i:=0 to n-1 do
if a.Row(i).All(t->t=0) then Print(i+1);
Writeln
end;
begin
Loop 2 do MyProc
end.
Пример
Введите порядок матрицы: 3
Введите построчно элементы матрицы
1 0 0
0 0 1
0 0 0
Строки, содержащие только нули: 3
Введите порядок матрицы: 2
Введите построчно элементы матрицы
0 0
0 0
Строки, содержащие только нули: 1 2