составить блок-схему программы: program proced;
var i,N:integer;
A:array [1..255] of integer; B:array [1..255] of integer; C:array [1..255] of real;
procedure funOne(x :integer);
var g:integer;
begin
for g:=1 to N do
begin
A[g]:=random(91)-43;
write(a[g]:7,'');
end;
writeln;
for g:=1 to N do
begin
B[g]:=random(88)-36;
write(B[g]:7,'');
end;
writeln;
end;
begin
write('Введите кол-во элементов массива N = ');
read(N);
funOne(1);
for i:=1 to N do
begin
C[i]:=(A[i] + B[i]) / 2;
write(C[i]:7:1);
end;
end.
Не попавшую на рисунок вершину обозначим К.
С пунктом В связано наибольшее количество точек - ему соответствует П6. Пункт Е - единственный, который не связан с В - на его роль претендует только П2. Только пункт К имеет связь ровно с тремя вершинами - по таблице ему подходит П4.
Имеем:
В - П6
Е - П2
К - П4
Зная, что вершина Д связана с Е, определим по таблице, что ей подходит П7 (П4 уже занята пунктом К). Точке Г соответствует П3.
Осталось посчитать расстояния всевозможных маршрутов от В до Е и выбрать кратчайший.
В-Д = П6-П7 = 20
Д-Е = П7-П2 = 15
В-Д-Е = 20+15 = 35
В-К = П6-П4 = 25
К-Е = П4-П2 = 5
В-К-Е = 25+5 = 30
В-Г = П6-П3 = 10
Г-К = П3-П4 = 10
К-Е = П4-П2 = 5
В-Г-К-Е = 10+10+5 = 25
25 < 30 < 35
Таким образом, длина кратчайшего маршрута - 25.
Вообще, при решении подобных задач старайтесь искать какие-нибудь зацепки - например, вершины с таким количеством соседей, которого нет у других вершин (вроде вершин В и К в этой задаче). Где-то можно использовать метод исключения и т.п.