1. priority_queue 컨테이너는 기본적으로 큰 값을 우선 순위가 높은 값이라고 판정합니다. 따라서 min heap으로 만들어 줄 필요가 있습니다.
-> priority_queue<PII> 를 priority_queue<PII, vector<PII>, greater<PII>> 로 수정해 주시면 됩니다.
2. pair 객체의 순서는 앞의 값에 의해 결정 (같은 경우에만 뒤의 값에 의해 결정) 됩니다. 따라서 cost를 기준으로 heap을 만드려면 pair의 첫 번째 값에 cost를 넣어 주어야 합니다.
-> pair를 만들고 넣을 때 node, cost 순서가 아닌 cost, node 순서로 만들어야 합니다.
위의 두 개를 고치면 AC를 받습니다.
37sadan_tongsinbyung 3년 전
싸지방 컴퓨터가 느려서 제대로 확인은 안되는데 9%에서 런타임 에러가 뜨는 것 같습니다 ㅜㅜ
질문에 검색해봤을 때 나오는 예제들도 넣어봤는데 잘 돌아가는 것 같습니다...
https://www.acmicpc.net/problem/1916 이 문제도 이 코드를 수정해서 제출해보니 맞았구여..
왜 런타임 에러가 뜰까요...? 군대 안이라 시간이 없어 도움이 절실합니다 ㅜㅜ