Задача №97. Самый короткий путь
Разбор добавил Джафар Исхоков
Применим алгоритм Флойда. Храним в массиве a[60][60] матрицу смежности ориентированного графа.
Теперь запустим алгоритм Флойда. Для тех кто не знает то она выглядит таким образом
for k := 1 to n do
for i := 1 to n do
for j := 1 to n do
if a[i,j] > a[i,k] + a[k,j] then
a[i,j] := a[i,k] + a[k,j];
где n – число вершин в графе. После этой процедуры в элементе a[i,j] будет храниться минимальный
путь от вершины i до вершины j. Теперь будем проверять каждый a[i,i] элемент , если оно меньше 0
то в графе есть путь отрицательной длины. Если в графе есть путь отрицательной длины то эта
задача не имеет решения т.е. надо выводить «-1». Если в графе нет такого пути то надо найти минимум
из всех элементов кроме тех у которых i = j. Желаю удачи ; )
Сдать: для сдачи задач необходимо войти в систему
3733
statement