[백준] 11404번 : 플로이드 [파이썬]

[백준] 11404번 : 플로이드 [파이썬]

n = int ( input ())

m = int ( input ())

INF = int ( 1e9 )

graph =[[ INF ]*( n + 1 ) for _ in range ( n + 1 )]

for i in range ( 1 , n + 1 ):

graph [ i ][ i ]= 0

for _ in range ( m ):

a , b , d = map ( int , input (). split ())

graph [ a ][ b ]= min ( graph [ a ][ b ], d )

for k in range ( 1 , n + 1 ):

for i in range ( 1 , n + 1 ):

for j in range ( 1 , n + 1 ):

graph [ i ][ j ]= min ( graph [ i ][ j ], graph [ i ][ k ]+ graph [ k ][ j ])

for i in range ( 1 , n + 1 ):

for j in range ( 1 , n + 1 ):

if graph [ i ][ j ]== INF :

print ( 0 , end = ' ' )

else :

print ( graph [ i ][ j ], end = ' ' )

print ()

from http://20210916start.tistory.com/70 by ccl(A) rewrite - 2021-09-24 10:01:03