skynet0149   6년 전

계속 20%에서 틀립니다...

어디가 잘못된건지 찾지를 못하겠습니다..

djm03178   6년 전

priority_queue는 현재 큐에 들어있는 모든 원소 중에서 제일 큰 값을 빼냅니다. 하지만 이 문제에서 요구하는 "정점 번호가 작은 것을 먼저 방문"이라는 건 그런 게 아닙니다. 예를 들어,

6 5 6

5 4

4 6

2 3

3 1

1 6

인 상태에서 BFS를 하면, 처음에 6에서 출발해 1과 4를 차례로 방문하고, 여기서 먼저 방문한 1에 연결되어 있는 3을 방문한 뒤에 아까 4에 연결되어 있던 5를 먼저 방문한 뒤에 2를 방문해야 합니다. 하지만 이 코드를 실행하면 6 1 4 3까지는 같으나 여기서 큐에 2가 들어가면서 5보다 우선순위가 높아져 먼저 방문하게 됩니다.

즉, priority_queue가 아닌 그냥 queue를 써야 합니다.

skynet0149   6년 전

감사합니다!

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