본문 바로가기
  • KEEP HUSTLE!
파이썬 코테 준비

[백준 11404] 플로이드 - Python(파이썬)

by 하수군 2021. 3. 27.
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()

댓글