, На складе, имеющем размеры N на M и разбитом на N x M одинаковых блоков
хранения передвигается робот. Вход на склад находится в верхнем левом углу склада, а
выход- в нижнем правом. Робот может перемещаться в следующий блок хранения только
вправо или вниз. Эффективным маршрутом робота называется кратчайший маршрут от
входа до выхода, при котором робот проходит хотя бы через один непустой блок хранения.
Входные данные
В первой строке вводятся размеры складаN и M через пробел
Следующие N строк содержат числа 0 или 1- задающие пустые (0) или непустые (1)
блоки хранения склада
Выходные данные
Необходимо вывести одно число- количество эффективных маршрутов робота
Пример
Входные данные
3 4
0000
0100
0010
Выходные данные
8
program znanija_com;
const
n = 5;
m = 3;
type
tArray = array[1..n, 1..m] of integer;
tPodArray = array[1..n] of real;
var
arr : tArray;
podarr : tPodArray;
i,j,sum : integer;
procedure swap(var x,y: real);
var t: real;
begin
t := x;
x := y;
y := t
end;
begin
randomize;
writeln('Исходная матрица:');
for i:=1 to n do begin
sum:=0;
for j:=1 to m do begin
arr[i, j]:=random(10);
write(arr[i, j], ' ');
sum:=sum+arr[i, j];
end;
writeln();
podarr[i]:=sum/m;
end;
for j:=1 to n-1 do
for i:=1 to n-j do
if podarr[i] < podarr[i+1] then
swap(podarr[i],podarr[i+1]);
writeln('Результирующий массив:');
for i:=1 to n do
writeln(podarr[i], ' ');
end.