작성
·
268
0
http://boj.kr/e4c18d04514e406f88c1af0ce04953cb
http://boj.kr/04682590a73c47c992a3437b78c555d0
비슷한 조건인거같은데 한쪽은 통과하고 한쪽은 메모리초과네요 어째서죠?
답변 1
1
안녕하세요 ㅎㅅ님 ㅎㅎ
if(a[ny][nx] == 0 || vis[ny][nx] == 1)continue;
이렇게 continue를 하고 있는데
vis[ny][nx] = vis[y][x] + 1;
지금 보면 vis에는 1이 아닌 다른 값들이 들어갈 수 있죠?
이 때문에 방문한 정점을 다시 방문하는 일이 생겨서
결국 많은 정점을 방문하게 되고 이 때문에 메모리 초과가 뜨게 되는 것 같습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.