rktkek456   5년 전

처음에는 make_pair(src, cost)로 했는데 시간초과가 나와서

혹시나 해서 종만북에 나와있는데로  make_pair(cost, src)로 바꾸니 통과됐습니다.

차이가 뭔지 알 수 있을까요ㅠ_ㅠ

djm03178   5년 전

pair끼리의 비교연산자 < 는 first가 작은 것, first가 같으면 second가 작은 것을 나타냅니다.

priority_queue는 이 비교연산자를 통해 값이 가장 큰 것부터 뽑아내는데, src끼리의 비교는 아무런 의미가 없는데도 < 연산자의 동작에 의해 src가 큰 것부터 뽑아내게 됩니다.

다익스트라의 의미를 생각해본다면, cost에 의해 결정이 나야 하는 것이 맞겠죠.

rktkek456   5년 전

아 맞습니다. priority_queue를 생각 못했네요ㅠ_ㅠ

djm03178   5년 전

그리고 지금은 코드가 뻔해서 보지 않고도 짐작을 했지만, 앞으로는 질문을 올릴 때 코드를 반드시 같이 올려주세요.

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