백준 1956 - 운동 (파이썬)

Updated:

Answer

from sys import stdin

input = stdin.readline
INF = int(1e9)

def floyd_warshall():    
    for m in range(1, V + 1):
        for s in range(1, V + 1):
            for e in range(1, V + 1):
                dp[s][e] = min(dp[s][e], dp[s][m] + dp[m][e])


V, E = map(int, input().split())
dp = [[INF] * (V + 1) for _ in range(V + 1)]

for _ in range(E):
    a, b, c = map(int, input().split())
    dp[a][b] = c

floyd_warshall()

answer = INF

for i in range(1, V + 1):
    answer = min(answer, dp[i][i])

if answer != INF:
    print(answer)
else:
    print(-1)

pypy3로 제출하셔야 합니다.

Categories:

Updated: