var c, a: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 1 to 20 do begin a[i] := c[20 - i + 1]; write(a[i], ' '); end; end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var c: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 20 downto 1 do write(c[i], ' '); end.
Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х. При этом, если путь не должен проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город, наоборот, обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С этого наблюдения посчитаем последовательно количество путей до каждого из городов:
А = 1.
Б = А = 1.
Г = А + Б = 2.
Д = А = 1.
В = Б + Г = 3.
Е = Г + Д = 3.
Ж = Е = 3. (В и Г не учитываем, поскольку в этих вершинах не проходим через Е).
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!
Объяснение:
Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х. При этом, если путь не должен проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город, наоборот, обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С этого наблюдения посчитаем последовательно количество путей до каждого из городов:
А = 1.
Б = А = 1.
Г = А + Б = 2.
Д = А = 1.
В = Б + Г = 3.
Е = Г + Д = 3.
Ж = Е = 3. (В и Г не учитываем, поскольку в этих вершинах не проходим через Е).
К = Ж = 3.
Н = Ж = 3.
М = Ж + Н = 6.
Л = К + Ж + М = 12.
П = К + Л + М = 21.