인프런 커뮤니티 질문&답변

kkim360님의 프로필 이미지
kkim360

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

3-E

3 - e 메모리 초과

작성

·

50

0

http://boj.kr/f71714ff83054faba0d0ae7392f76c1b

해당 코드가 메모리 초과가 납니다. 그 이유를 알 수 있을까요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 kkim님ㅎㅎ

오랜만이네요. ㅎㅎ

 

이거 queue에 push 가 너무 많이 일어나서 그렇습니다.

                if(x1 <= 0 && y1 <= 0 && z1 <= 0){
                    cout << cnt<< '\n';
                    return 0;
                }
                q.push({x1, y1, z1});

지금 보시면 방문처리도 안되어있기 때문에 방문한 정점도 -> 다시 방문 -> 불필요한 탐색을 반복 -> queue에 요소가 많이 push됨 -> 메모리 초과

라고 보시면 됩니다.




또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


kkim360님의 프로필 이미지
kkim360

작성한 질문수

질문하기