hong4243   2년 전

말그대로 30%정도까지는 제대로 채점되다가 런타임에러가 나옵니다. 그런데 어디가 문제인지 잘 모르겠습니다.

고수님들 부탁드립니다.!!

djm03178   2년 전

중복 방문을 막을 장치가 되어있는 건가요?

hong4243   2년 전

네!! 한번 경로를 사용한 원소는 탐색하지 않습니다.

혹시 '시간초과'는 중복과 관련 있지만 '런타임에러'와도 중복이 관련있나요?

djm03178   2년 전

중복 방문이 된다는 건 큐의 원소가 계속해서 늘어날 수 있다는 뜻입니다. 크기가 너무 커지면 메모리를 점점 많이 잡아먹다가 결국 할당에 실패해서 런타임 에러가 되겠죠.

제가 의심하는 부분은 if (check(tmpX, tmpY) &&(map[tmpX][tmpY] > map[currentX][currentY])) 이 부분에서 중복 방문을 체크하지 않는다는 점인데, 가령 이런 경우에

3 4

4 5

3에서 시작하면 양쪽의 4를 모두 들어가는데, 이들 모두에 인접한 5가 두 번 큐에 들어가지 않게 막아세우는 장치가 보이지 않는다는 점입니다.

hong4243   2년 전

아아!! 감사합니다!! 그러고 보니 그부분에서 문제가 있을것 같아요!! 정말로 감사드립니다!!!

다시 풀어보고 답변 다시 달겠습니다!

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