Coding Is My Life

코딩은 인생

그래프 이론/다익스트라 알고리즘

[백준/C++] 거의 최단경로(5719번)

산기대 컴공 2020. 10. 20. 23:46
728x90

https://www.acmicpc.net/problem/5719

 

5719번: 거의 최단 경로

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 장소의 수 N (2 ≤ N ≤ 500)과 도로의 수 M (1 ≤ M ≤ 104)가 주어진다. 장소는 0부터 N-1번까지 번호가 매겨져 있��

www.acmicpc.net

문제해결

1. 다익스트라 알고리즘을 통해 목적지까지의 최단 거리를 구한다.

2.최단거리를 구하면서 최단거리의 이전노드들을 trace 벡터에 저장하면서 구한다.

3.trace의 있는 노드의 간선들을 재귀를 통해서 제거한다.

4.다시 한번 다익스트라 알고리즘을 돌려서 최단거리를 구한다.

5.코드에 주석 열심히 달았어요 보면은 이해 될 거예요.

 

 

코드

ide.goorm.io/shared_files/sksj0111_22aa2b16414dd1737b03c1d57179161b1603205123790

728x90