Compare commits

...

2 Commits

Author SHA1 Message Date
songyc macbook
9cd5b1b7f9 20251020 baekjoon 2025-10-20 20:54:26 +09:00
songyc macbook
638d55d489 20251019 baekjoon 2025-10-20 17:58:23 +09:00
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,45 @@
import heapq
n, m = map(int, [input(), input()])
graph = [[] for _ in range(n+1)]
for _ in range(m) :
u, v, w = map(int, input().split())
graph[u].append((v,w))
start, end = map(int, input().split())
inf = float("inf")
distance = [inf for _ in range(n+1)]
distance[start] = 0
prevNode = [0]*(n+1)
heap = []
heapq.heappush(heap, (0, start))
while len(heap) != 0 :
cur_dist, now = heapq.heappop(heap)
if distance[now] < cur_dist :
continue
for Next in graph[now] :
next, nw = Next
if distance[next] > distance[now] + nw :
distance[next] = distance[now] + nw
heapq.heappush(heap, (distance[next], next))
prevNode[next] = now
channel = [end]
ptr = end
while ptr != start :
ptr = prevNode[ptr]
channel.append(ptr)
channel.reverse()
print(distance[end])
print(len(channel))
print(*channel)

View File

@ -0,0 +1,3 @@
export {};
const input = require("fs").readFileSync(0).toString().trim().split('\n').map(Number);
console.log(input[0]+input[1]);