import sys
n = int(sys.stdin.readline().strip())
m = int(sys.stdin.readline().strip())
arr = [[float('inf')] * n for _ in range(n)]
for _ in range(m):
a, b, c = map(int, sys.stdin.readline().split())
arr[a-1][b-1] = min(arr[a-1][b-1], c)
# 모든 하나하나 돌면서 해당 노드를 거쳤을 때를 비교
for k in range(n):
arr[k][k] = 0
for i in range(n):
for j in range(n):
arr[i][j] = min(arr[i][j], arr[i][k] + arr[k][j])
for t in arr:
for x in t:
if x == float('inf'):
print(0, end=' ')
else:
print(x, end=' ')
print()
'파이썬 코테 준비' 카테고리의 다른 글
[백준 1956] 운동 - Python(파이썬) (0) | 2021.03.27 |
---|---|
[백준 10217] KCM Travel - Python(파이썬) (0) | 2021.03.27 |
[백준 11401] 이항계수 3 - Python(파이썬) (0) | 2021.03.27 |
[백준 17472] 다리 만들기 2 - Python(파이썬) (0) | 2021.03.21 |
[백준 2887] 행성 터널 - Python(파이썬) (0) | 2021.03.21 |
댓글