728x90
반응형
기본적인 플로이드-와샬 문제이다.
import sys
INF = sys.maxsize
input = sys.stdin.readline
n, m = int(input()), int(input())
dis = [[INF]*n for _ in range(n)]
for _ in range(m):
a, b, c = map(int, input().split())
if c < dis[a-1][b-1]:
dis[a-1][b-1] = c
for k in range(n):
for a in range(n):
for b in range(n):
if a != b:
dis[a][b] = min(dis[a][b], dis[a][k]+dis[k][b])
for i in range(n):
for j in range(n):
if dis[i][j] == INF:
dis[i][j] = 0
for t in dis:
print(*t)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 11403번 경로 찾기(python) (0) | 2021.03.22 |
---|---|
백준 알고리즘 2458번 키 순서(python) (0) | 2021.03.22 |
백준 알고리즘 13549번 숨바꼭질 3(python) (0) | 2021.03.22 |
백준 알고리즘 1916번 최소비용 구하기(python) (0) | 2021.03.22 |
백준 알고리즘 1446번 지름길(python) (0) | 2021.03.22 |