105줄에서 dist의 각 벡터들에 값을 push_back 하므로
112줄의 dist[sed[j]][0]은 언제나 첫 번째 테스트 케이스 때의 값입니다.
9370번 - 미확인 도착지
105줄에서 dist의 각 벡터들에 값을 push_back 하므로
112줄의 dist[sed[j]][0]은 언제나 첫 번째 테스트 케이스 때의 값입니다.
보여주신 코드의 115줄과 117줄 사이에 A코드를 넣고
문제에 있는 예제를 실행하면 B와 같은 결과가 나옵니다.
1번째 테스트 케이스(이하 TC)에서 후보 도착지가 4, 5이므로
4의 dist는 12, 5의 dist는 11이라고 잘 계산되어 들어갔고 답도 맞았습니다.
그러면 이제 이 값들은 더 이상 필요가 없습니다. 그런데...
2번째 TC에서 후보 도착지는 5, 6이므로 5와 6의 dist가 계산되는데
5의 dist는 이번에도 11이고,
dist[5]가 int 변수가 아니라 vector이기 때문에
1번째 TC 때 5의 dist였던 11은 그대로 남아 있고 그 뒤에 이번 TC의 값인 11이 들어가고,
112줄에서 사용하는 dist[5][0]의 값은 지금 계산한 11이 아니라 아까 1번째 TC 때의 11인 것입니다.
이 예제는 정말 운 좋게 통과가 된 거죠.
댓글을 작성하려면 로그인해야 합니다.
idjjm95 2년 전
제가 생각하기에는
특정 경로를 지나는 최단 경로와 dijkstra로부터 구한 start~end까지의 최단거리가
같다면, 최종 후보지로 생각될 수 있다고 생각했습니다.
이 경우에 최단 경로가 많은 경우에도 풀 수 있다고 생각되는데
혹시 왜 33%에서 틀리는지 여쭤볼 수 있을까요?