38 путей.
Объяснение:
Для задач такого вида используются довольно универсальные решения. Для города Х вводится характеристика Nх - количество различных путей из города А в город Х. На картинке, например, Nа = 1 (так как единственный попасть в город А из города А - это оставаться в нем), Nб = 1 (единственный попасть из города А в город Б - по прямому пути), аналогично для города Д.
Давайте найдем количество попасть в каждый город из города А. Для этого начнем идти из города А во все "соседние" города, для которых мы уже можем назвать это количество по принципу, описанному абзацем выше:
Nа = 1
Nб = Nа = 1
Nг = Nб + Nа = 1 + 1 = 2
Nд = Nа = 1
Nв = Nб + Nг = 1 + 2 = 3
Nе = Nг + Nд = 2 + 1 = 3
Nж = Nв + Nг + Nе = 3 + 2 + 3 = 8
Nк = Nв + Nж = 3 + 8 = 11
Nл = Nк + Nж = 11 + 8 = 19
Мы узнали количество различных путей из города А в город Л. Теперь по аналогии будем искать количество путей из города Л в город П. Чтобы не путаться, введем новую характеристику, например, Cx - количество различных путей из города Л в город X.
Cл = 1
Cм = Cл = 1
Cп = Cл + Cм = 1 + 1 = 2
19 путей из города А в город Л, и 2 путя из города Л в город П. 19 путей, если после города Л мы сразу пойдем в город П, плюс еще 19 путей, если мы после города Л зайдем сначала в город М, а уже потом в П. Итого 19 * 2 = 38 путей.
const
m=5;
n=4;
a:array[1..m] of real=(2,-7.1,3.2,-5.4,6.9);
b:array[1..n] of real=(8.1,3.2,-6.4,-3.5);
k=3;
var
i,j:integer;
sk:real;
s:array[1..m,1..n] of real;
begin
Writeln('Массив S');
for i:=1 to m do begin
for j:=1 to n do begin
s[i,j]:=a[i]*b[j];
Write(s[i,j]:7:2)
end;
Writeln
end;
sk:=0;
for i:=1 to m do sk:=sk+s[i,k];
Writeln('Сумма элементов столбца ',k,' равна ',sk)
end.
Результат выполнения программы:
Массив S
16.20 6.40 -12.80 -7.00
-57.51 -22.72 45.44 24.85
25.92 10.24 -20.48 -11.20
-43.74 -17.28 34.56 18.90
55.89 22.08 -44.16 -24.15
Сумма элементов столбца 3 равна 2.56