[BOJ][Python3/PyPy3] 16681 - 등산 (다익스트라)
·
알고리즘 (PS)/BOJ
교내 동아리에서 진행한 알고리즘 스터디의 마지막 수업으로 다익스트라를 배웠다. 연습 문제 중 이 문제가 개인적으로 막힌 부분이 많았고, 그로부터 배운 것들을 정리하고자 한다. 우선 이 문제를 풀기 위한 아이디어도 떠오르지 않았다. 결국엔 동아리 스터디 내용을 통해 아이디어를 얻고, 아이디어를 구현하여 제출하였다. 아이디어는 다음과 같다. 집에서 갈 수 있는 모든 산의 정상들 학교에서 갈 수 있는 모든 산의 정상들 이 두가지를 따로 구한다음 각각에서 구한 산의 정상의 교집합을 취하여 문제가 원하는 방식대로 계산하면 된다. 만약 교집합이 없다면, 답이 없다는 뜻. 나는 다익스트라를 구현하고, 다익스트라의 결과로 나온 집/학교에서 출발 했을 때 갈 수 있는 모든 산의 정상들 (노드) 번호, 각각의 노드로 가는..