인프런 커뮤니티 질문&답변
3-D 불! 메모리초과
작성
·
248
0
소스코드: http://boj.kr/057ac029ef1f4805bd46df65cf5474b5
제한 메모리는 256mb인데 어떤 부분에서 초과됐는지 궁금합니다.
dfs의 매개변수와 지역변수가 대략 int형으로 7개정도 있습니다(y, x, d, size, i, ny, nx). 그래서 한번 호출 시 스택에 쌓이는 메모리 용량은 대략 28바이트겠죠?
백만번째 호출 때 스택에 변수의 메모리 합이 28mb 밖에 되지 않는 것 같은데요. 어떻게 메모리 초과가 났을까요?
아 그리고 pair대신에 struct를 정의해 사용했는데 좋지 않은 방법일까요?
답변 1
1
큰돌
지식공유자
안녕하세요 maple님 ㅎㅎ
struct : 괜찮습니다. / 근데 지훈이의 이동은 왜 dfs로 하신건가요? dfs로 했을 때 최단거리로 갈 수 있다가 자명한가요?
감사합니다.






처음에 최단거리는 생각 못하고 모든 경로 탐색이 먼저 떠올라서 시도했었습니다.
근데 메모리 초과가 아니라면 통과할 수 있었지 않을까 싶어서요 ㅎㅎ
해결) 불지를 때 visited를 기록하지 않고 있어서 queue가 비워지지 않아 메모리가 가득 찼습니다.