This commit is contained in:
alexey_makov 2026-07-01 19:46:51 +03:00
commit 851751ea87
82 changed files with 2093 additions and 0 deletions

37
3F.py Normal file
View file

@ -0,0 +1,37 @@
import sys
data = sys.stdin.read().split()
if not data:
exit()
n = int(data[0])
m = int(data[1])
U = [0] * m
V = [0] * m
W = [0] * m
idx = 2
for i in range(m):
U[i] = int(data[idx])
V[i] = int(data[idx+1])
W[i] = int(data[idx+2])
idx += 3
INF = 10**15
D = [INF] * (n + 1)
D[1] = 0
for _ in range(n - 1):
any_relaxed = False
for i in range(m):
u = U[i]
if D[u] != INF:
v = V[i]
cost = D[u] + W[i]
if cost < D[v]:
D[v] = cost
any_relaxed = True
if not any_relaxed:
break
ans = []
for i in range(1, n + 1):
if D[i] == INF:
ans.append(30000)
else:
ans.append(D[i])
print(*ans)