https://www.acmicpc.net/problem/1504
1504번: 특정한 최단 경로
첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존
www.acmicpc.net
설명
다익스트라 유형에서 조금 변형이 일어난 문제입니다. 반드시 거쳐야 할 지점이 존재합니다.
반드시 방문해야 되니 특정 지점으로만 이동해보면서 도착지까지 거리를 구하면 됩니다.
2가지의 경로가 존재합니다.
-
1 -> v1 -> v2 -> N
-
1 -> v2 -> v1 -> N
두 가지의 경로중 더 적은 비용으로 도착하는 방법이 최단 거리가 됩니다.
이번엔 방문 배열을 사용해서 풀어봤는데요. 개인적으로 방문 배열이 더 헷갈리지 않고 풀리네요!
풀이
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 14496번: 그대, 그머가 되어 / JAVA (0) | 2022.01.30 |
---|---|
[백준] 4485: 녹색 옷 입은 애가 젤다지? / JAVA (0) | 2022.01.30 |
[백준] 1916번: 최소 비용 구하기 / JAVA (0) | 2022.01.30 |
[백준] 2564: 경비원 / JAVA (0) | 2022.01.29 |
[백준] 1584번: 게임 / JAVA (0) | 2022.01.29 |