Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.04.2023
Сообщений: 6

Постройте матрицу кратчайших путей между вершинами графа

02.04.2023, 13:03. Показов 2484. Ответов 1

Студворк — интернет-сервис помощи студентам
Нужно решить задачу на Python

Полный ориентированный взвешенный граф задан матрицей смежности. Постройте матрицу кратчайших путей между его вершинами. Гарантируется, что в графе нет циклов отрицательного веса.

Формат ввода
В первой строке вводится единственное число N – количество вершин графа. В следующих N строках по N чисел задается матрица смежности графа (j-ое число в i-ой строке соответствует весу ребра из вершины i в вершину j). Все числа по модулю не превышают 100. На главной диагонали матрицы – всегда нули.

Формат вывода
Выведите N строк по N чисел – матрицу кратчайших расстояний между парами вершин. j-ое число в i-ой строке должно быть равно весу кратчайшего пути из вершины i в вершину j.

Пример
Ввод
4
0 5 9 100
100 0 2 8
100 100 0 7
4 100 100 0

Вывод
0 5 7 13
12 0 2 8
11 16 0 7
4 9 11 0



Есть такой код, но выдает ошибку:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def floyd(matr):
    n=len(matr)
    for i in range(n):
        for j in range(n):
            for k in range(n):
                matr[i][j] = min(matr[i][j],matr[i][k]+matr[k][j])
 
n=int(input())
matr=[]
for i in range(n):
    row=list(map(int,input().split()))
    matr.append(row)
    
floyd(matr)
 
for row in matr:
    print(*row)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2023, 13:03
Ответы с готовыми решениями:

Постройте матрицу кратчайших путей между вершинами графа
Флойд – 1 Полный ориентировочный взвешенный граф задан матрицей смежности. Постройте матрицу кратчайших путей между его вершинами....

Реализовать поиск кратчайших путей между вершинами графа
ПОМОГИТЕ ПОЖАЛУСТА! Реализовать поиск кратчайших путей между вершинами графа.

Поиск кратчайших путей между двумя вершинами графа методом Шимбела.
Доброго всем время суток!! В универе задали на РГР написать программу в С++, которая находит кратчайший путь между двумя вершинами графа,...

1
71 / 55 / 32
Регистрация: 13.04.2018
Сообщений: 521
02.04.2023, 15:50
Лучший ответ Сообщение было отмечено hgsyeal как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
n = int(input())
graph =[list(map(int, input().split())) for _ in range(n)]
 
for k in range(n):
    for i in range(n):
        for j in range(n):
            graph[i][j] = min(graph[i][j], graph[i][k] + graph[k][j])
 
for i in range(n):
    print(*graph[i])
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2023, 15:50
Помогаю со студенческими работами здесь

Нахождения кратчайших путей между всеми парами вершин графа
Подскажите как можно улучшить алгоритм Флойда-Уоршелла что-бы он верно работал если длина некоторых векторов равно 0 (то есть отсутствую). ...

Алгоритм поиска количества всех возможных путей между двумя вершинами графа на основе графа матрицы смежности
Добрый всем день! помогите с заданием! Нужно найти количество всех возможных путей в графе, используя обход графа в глубину. Прошу помощи,...

Построение кратчайших путей между всеми парами вершин графа. Алгоритм Флойда
Взялся за свой курсовик. Задача такая: Реализовать алгоритм Флойда для построения кратчайших путей между всеми парами вершин графа. С...

Количество путей между двумя вершинами графа
Здравствуйте.Я совсем недавно познакомилась с vba, так что не судите строго) задача звучит так: Дан граф i x i(в таблице excel). Нужно:...

Поиск всех возможных путей между вершинами графа
Необходимо решить такую задачу: Разработать программу, которая: а) считывает формальное описание графа из подготовленного текстового...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru