chyam

[백준] 11404번, python - 플로이드 본문

백준

[백준] 11404번, python - 플로이드

chyam_eun 2026. 1. 21. 14:21

 

https://www.acmicpc.net/problem/11404

import sys
input = sys.stdin.readline

n = int(input())
m = int(input())
li = [[float('inf')]*n for _ in range(n)]

for _ in range(m):
    a, b, p = map(int,input().split())
    li[a-1][b-1] = min(p,li[a-1][b-1])


for i in range(n):
    for j in range(n):
        if i != j:
            for k in range(n):
                if j != k and i != k:
                    li[j][k] = min(li[j][i] + li[i][k], li[j][k]) # 자신, 다른 구간을 지난것 중 작은것

for i in range(n):
    for j in range(n):
        if li[i][j] == float('inf'):
            li[i][j] = 0
        print(li[i][j], end=" ")
    print()