코드는 복잡하고 질문은 짧군요.
이 코드와 질문의 핵심은 push 할때 복사해서 들어가서 node 를 조작한 것이 maps 에 반영이 안되는 것이 아닌가 합니다.
일단 질문하신 것에 대한 의견은...
. priority_queue 는 유지하되 node 인 index만 넣고
. cmp 함수에서 node[index_a], node[index_b] 를 비교하게 하고
. while loop 에서는 node 를 수정하면 되지 않을까요?
그리고 54번줄에서 new 하지 말고 그냥 변수 잡고 push 해도 되지 않을까요. leak 도 없고.. (저 할당은 다 leak 이 될 것 같습니다.)
adfsfsf 5년 전
아래와 같은 코드에서, 우선순위 큐를 굳이 그대로 둬야 할까요? 그냥 큐 배열을 만드는 게 더 나을까요?