싸지방 컴퓨터가 느려서 제대로 확인은 안되는데 9%에서 런타임 에러가 뜨는 것 같습니다 ㅜㅜ

질문에 검색해봤을 때 나오는 예제들도 넣어봤는데 잘 돌아가는 것 같습니다...

https://www.acmicpc.net/problem/1916 이 문제도 이 코드를 수정해서 제출해보니 맞았구여..

왜 런타임 에러가 뜰까요...? 군대 안이라 시간이 없어 도움이 절실합니다 ㅜㅜ

pinebananais   3년 전

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를 받습니다.

댓글을 작성하려면 로그인해야 합니다.