[백준] 1956번 : 운동 [파이썬]

[백준] 1956번 : 운동 [파이썬]

v , e = map ( int , input (). split ())

INF = int ( 1e9 )

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

for _ in range ( e ):

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

graph [ a ][ b ]= c

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

graph [ i ][ i ]= 0

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

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

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

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

result = INF

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

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

if i == j :

continue

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

if result == INF :

print (- 1 )

else :

print ( result )

from http://20210916start.tistory.com/82 by ccl(A) rewrite - 2021-09-27 08:01:02