121
длина = <mх>
минимальный маршрут:
<n1> <n2> <n3> <n4>
длина = <mn>
Простейший способ решения этой задачи заключается в организации перебора всех замк-
нутых маршрутов, проходящих через заданные точки и выбора среди минимального и максималь-
ного по длине маршрутов.
Программа
Алгоритм
мин. и макс. маршруты
алг «мин. и макс. маршруты»
cls
нач
n = 4
п = 4
dim x(n),y(n),r(n,n)
dim x(n),y(n),r(n,n)
? «координаты точек»
вывод («координаты точек»)
gosub vvdan 'ввод данных
ввод-координат-точек
restore mrshrt 'маршруты
загрузка-маршрутов
? «маршруты:»
вывод («маршруты:»)
mr = 1*2*3
mr =1*2*3
mx = 0
тх = 0
for l = 1 to mr
от l = 1 до mr
read k1, k2, k3, k4
ввод k1, k2, k3, k4
dl = r(kl,k2) + r(k2,k3)
dl = r(kl,k2) + r(k2,k3)
d3 = r(k3,k4) + r(k4,kl)
d3 = r(k3,k4) + r(k4,k1)
d = dl + d3
d = d1 + d3
? kl; k2; k3; k4, d
вывод (k1; k2; k3; k4, d)
if mx = 0 then
если тх = 0 то
mx = d: mn = d
mx = d: mn = d
ml = kl: m2 = k2
ml = k1: m2 = k2
m3 = k3: m4 = k4
m3 = k3: m4 = k4
nl = kl: n2 = k2
n1 = k1: n2 = k2
n3 = k3: n4 = k4
n3 = k3: n4 = k4
elseif d > mx then
инеc d > mx то
mx = d
mx = d
ml = kl: m2 = k2
m1 = k1: m2 = k2
m3 = k3: m4 = k4
m3= k3: m4 = k4
elseif d < mn then
инеc d < mn то
mn = d
mn = d
nl = kl: n2 = k2
n1 = k1: n2 = k2
n3 = k3: n4 = k4
n3 = k3: n4 = k4
end if
кесли
next 1
кцикл
? «максимальный маршрут:»
вывод («максимальный маршрут:»)
? ml; m2; m3; m4
вывод (m1; m2; m3; m4)
? «длина =»; mx
вывод («длина =»; mx)
? «минимальный маршрут:»
вывод («минимальный маршрут:»)
? nl; n2; n3; n4
вывод (n1; n2; n3; n4)
? «длина =»; mn
вывод («длина =»; mn)
end
кон
vvdan: 'ввод данных
алг «ввод данных»
restore tchks
загрузка-точек
for k = 1 to n
от k = 1 до п
read x(k),y(k)
ввод x(k),y(k)
? x(k),y(k)
вывод x(k),y(k)
|