Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

jay153의 PS 일지

BOJ 17096 본문

BOJ

BOJ 17096

jay153 2025. 2. 24. 19:40

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

 

코드

http://boj.kr/1465a10980c64389892baa5e346c81c4

 

난이도 : P3

 

Elapse Time : 15min

 

문제에서 $N$과 $M$의 범위를 보니 다익스트라 문제임이 분명해 보였다. 일단 $i$번째 도시를 가는 데 최단경로로 이동해야 하고 경로가 여러 개라면 앞서 사용했던 경로를 최대한 재활용해야 한다. 우선 무지성으로 다익스트라를 짰는데 다익스트라 코드를 보면서 한 첫 번째 관찰은 특정 도시까지의 최단 거리는 항상 이전 노드까지의 최단 거리와 이전 노드와 현재 노드를 잇는 도로의 걸리는 시간의 합으로 표현된다는 것이다. 두 번째로 한 관찰은 $i$번째 도시를 방문할 경로가 정해져 있다면 방문하는 순서와는 무관하게 답이 결정된다는 것이다. 두 가지를 조합해 보니 다익스트라 코드에서 $pq$에서 노드가 나오는 순서를 방문 순서로 설정할 경우 다익스트라 코드를 조금만 변형하면 답을 구할 수 있다는 것이다. 다익스트라에서 최단경로 대신 최단경로와 도달 직전 도로의 걸리는 시간을 pair로 묶어 관리해주면 모든 노드에 대해 도달 직전 도로의 걸리는 시간의 합이 답이 된다.

'BOJ' 카테고리의 다른 글

BOJ 11858  (0) 2025.02.24
BOJ 17097  (0) 2025.02.24
BOJ 3999  (0) 2025.02.23
BOJ 30027  (0) 2025.02.21
BOJ 17050  (0) 2025.02.21