Written by
nodejs-style
on
on
[백준] 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