• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

8-R 다익스트라 2번 사용 풀이 질문입니다.

23.08.26 23:37 작성 조회수 183

0

강사님 안녕하세요

8-R 풀이에서 다익스트라 2번 사용하여 풀이를 해주셨는데요.

강의 영상 1:54 부근에서 간선간 왔다갔다 할 수 있다고, 양방향 간선인 것 처럼 말씀해주셨는데.

문제에서는 아래와 같이 간선은 단방향이고, X 지점까지 가는 경로와 돌아오는 경로가 다를 수 있다고 되어있습니다.

각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지만 이 학생들은 워낙 게을러서 최단 시간에 오고 가기를 원한다.

이 도로들은 단방향이기 때문에 아마 그들이 오고 가는 길이 다를지도 모른다. N명의 학생들 중 오고 가는데 가장 많은 시간을 소비하는 학생은 누구일지 구하여라.

X -> 각 노드 까지 가는 최단거리는 다익스트라로 구하는 것은 이해했는데 ,

각 노드 -> X 까지 가는 경로를 구하는 방법을, 경로 가중치는 그대로 두고 단순히 간선 방향을 반대로 하여 다익스트라로 풀이하는 설명이 잘 이해가 되지 않습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요 ㅎㅎ

각 노드 -> X 까지 가는 경로를 구하는 방법을, 경로 가중치는 그대로 두고 단순히 간선 방향을 반대로 하여 다익스트라로 풀이하는 설명이 잘 이해가 되지 않습니다.

>>

우리가 구하고자 하는 것은 a + b + c죠? 여기서 a라는 거리는 쉽게 다익스트라로 구할 수 있습니다. 문제는 b + c인데요. 이를 반대로 하게 되서 다익스트라만으로도 구할 수가 있게 됩니다. 이 때 a라는 간선은 반대방향 단방향 간선이 되어서 해당 로직에 영향을 주지 않구요.

image

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.