tnswh213   2년 전

사용한 언어는 C++을 사용했습니다. 왜 시간초과가 나는지 모르겠습니다. 

aig0016   2년 전

66줄 부터 더 좋은 경로를 찾았을 때 시작점에서 각 노드까지의 거리가 저장된 배열 d를 갱신하지 않아서, 처음에 기록된 경로보다 짧은 경로를 계속 우선순위 큐에 넣다보니 시간초과가 난 것 같습니다.

tnswh213   2년 전

근데 구조체를 안쓰고
vector<pair<int,int>>를 사용하면 통과를 합니다. ㅜㅜ
그리고 short부분을 int로 바꾸었는데도 실패합니다.

aig0016   2년 전

제가 코드를 제대로 안 읽고 답글을 잘못 달았네요... 못 본 체 해주십쇼. 죄송합니다.


코드를 이렇게 바꾸셔야 됩니다.

그리고 20000*10라서 short 범위 넘기는 건 체크하신 것 같네요

tnswh213   2년 전

앗 제가 그부분 수정이 안되어있었네요 해당내용 수정했는데도 시간초과가 나옵니다.

aig0016   2년 전

출력 부분을 이렇게 바꿔보실래요...?

endl은 버퍼를 비우는 과정을 거치기 때문에 \n로 한 줄을 출력하는 것보다 느립니다.

더군다나 최대 2만줄 까지 출력하기 때문에 이걸로도 느려질 수 있다고 생각해요...

이게 아니면 다른 원인이 있다는 건데 이것 외에는 잘 안 보이네요

tnswh213   2년 전

넵 감사합니다. 한번바꿔서 해볼께요!

tnswh213   2년 전

오 정말 endl말고 '\n'바꾸니깐 성공했어요 이것때매 안될줄을 몰랐어요 감사합니다.

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