https://www.acmicpc.net/problem/1753' target="_blank">https://www.acmicpc.net/problem/1753
이문제, 밑에가 내가 푼 코드인데 자꾸 4프로에서 틀렸다고 나옴 ㅠㅠ 졸려서 더이상 머리가 안돌아간다
뭐가 문제일까ㅠㅠ 고수님들 도와줭
# https://www.acmicpc.net/problem/1753' target="_blank">https://www.acmicpc.net/problem/1753
import heapq
import sys
sys.setrecursionlimit(10**6)
input = sys.stdin.readline
inf = int(1e9)
v, e = map(int,input().split())
k = int(input())
graph = [[] for _ in range(v+1)]
distance = [inf] * (v+1)
for i in range(e):
u,v,w = map(int,input().split())
graph[u].append((v,w))
def dijkstra(k):
q = []
heapq.heappush(q, (0,k))
distance[k] = 0
while q:
dist, now = heapq.heappop(q)
if distance[now] < dist:
continue
for i in graph[now]:
cost = dist + i[1]
if cost < distance[i[0]]:
distance[i[0]] = cost
heapq.heappush(q, (cost,i[0]))
dijkstra(k)
for i in range(1, v+2):
# if i == k:
# print(0)
if distance[i] != inf:
print(distance[i])
else:
print("INF")
야이씨... 나 자바러인데 이거 로직은맞는데 왜안되지하고 해봤는데, 변수 v가 겹친다. 노드받는 부분이랑 그래프받는 부분에서 겹친다. 출력에서도 v+1로 수정해
감사합니다