if (distance_table[g.vertex].cost > temp)
distance_table[g.vertex] = { current, temp };
p_que.emplace(g);
을
if (distance_table[g.vertex].cost > temp) {
distance_table[g.vertex] = { current, temp };
p_que.emplace(g.vertex, temp);
}
수정 했습니다.
ajdqnwk 4년 전
최소 비용은 다익스트라 알고리즘을 사용하였고,
경로 역추적은 distance_table에 저장한 이전 정점 정보를 이용해 재귀 함수로 출력하였습니다.
여러 케이스를 만들어서 돌려보았는데, 틀린 이유를 찾지 못했습니다.
반례 좀 부탁드립니다.