init
This commit is contained in:
commit
851751ea87
82 changed files with 2093 additions and 0 deletions
37
3F.py
Normal file
37
3F.py
Normal 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue