알고리즘/백준 문제풀이

[백준] 1504: 특정한 최단 경로 / JAVA

호호맨 2022. 1. 30. 21:26

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 

두 가지의 경로중 더 적은 비용으로 도착하는 방법이 최단 거리가 됩니다.

이번엔 방문 배열을 사용해서 풀어봤는데요. 개인적으로 방문 배열이 더 헷갈리지 않고 풀리네요!

풀이