kwooly   4년 전

뭐가 잘못되었을까요? ㅠㅠ

sgchoi5   4년 전

1 ≤ m ≤ 100,000 인데, buffer 크기가 작네요.

그리고, 동일 경로에 가격이 다른 경우가 있으니 최소값만 쓰도록 하시면 됩니다.

kwooly   4년 전

우왓 감사합니다, 고수님.

덕분에 런타임에러는 해결되었습니다.

다만 이제는 틀렸습니다 라고 뜨는데요,


고민을해봐도 무엇이 문제일지 또 막히게되네요. ㅠㅠ

마지막에 말씀하신 "동일 경로에 가격이 다른 경우가 있으니 최소값만 쓰도록 하시면 됩니다." 이 부분이 힌트가 될수 있을꺼같은데 잘 이해를 하지 못하였습니다.

1 2 10

1 2 6

이런식으로 같은 루트에 코스트가 다른부분이 있을수 있다는 말씀이시지요?

하지만 그부분은 아래 루틴에서, 어차피 최소값만 records[ ] 에 저장되는 로직이어서 괜찮지않나 합니다.


      if(start == tempNode)
      {
        if(records[start] + cost < records[end])
        {
          records[end] = records[start] + cost;
        }
      }


혹시 이것 외에 이상한 부분은 없으신지요?


sgchoi5   4년 전

저는 고수가 아니라 더 이상... 드릴 말이 없다는.... ^^;;

그냥 다익스트라 전형적인 코드 참조해서 했습니다...


다만... 많은 수의 입출력에 대해서 iosteam 의 cin 을 그냥 쓰시면 시간초과 납니다

참고하시길.... http://gooddaytocode.blogspot.kr/search/label/%5B023%5D%20cin%20과%20scanf%20에%20대해서



kwooly   4년 전

헐! 몰랐네요. 감사합니다! ^^

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