3-H 메모리초과
227
작성한 질문수 14
http://boj.kr/8e44c6b66d4644008651ce44ab448ea8
res.push_back(k);
for (int i = prev[k]; i != n; i = prev[i])
{
res.push_back(i);
}이 부분으로 인해서 메모리초과가 발생하는 거 같은데 왜 발생하는지 이유를 잘 모르겠습니다.
답변 1
0
안녕하세요 ㅎㅎ
잘 짜셨지만 사소한 다음 부분이 틀리셨습니다.
이게 바로 prev[k]에서 종료가 될 수 있기 때문에 다음과 같이 수정해야 합니다. (종료가 되었는데 prev를 호출 -> prev에는 쓰레기값이 들어감 -> 재귀적으로 이상한 배열들을 많이 참조하는 UB -> 메모리초과)
for (int i = k; i != n; i = prev[i]) // 수정된 부분
{
res.push_back(i);
} 이렇게 한번 고쳐보시겠어요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
네 맞습니다.
5 5 이렇게 넣어보시면
다음과 같이 0이 무한반복되게 됩니다.
prev에는 0이 처음에 할당 -> n과 k가 같을 때 -> prev[i] = 0, i = 0, prev[i] = 0 이런식으로 무한반복이 되게 됩니다.
쓰레기값이란 설명은 잘못 설명드린 것 같습니다. 전역변수로 설정했으니 0으로 초기화가 되어있고 그로인한 무한반복이 좀 더 올바른 설명인 것 같습니다.
혼란을 드려 죄송합니다.
감사합니다.
코살구 1주차 1940번 문제 조건과 프라이빗 테스트 불일치 문의
0
13
2
문제를 고민하는 시간 관련
0
17
2
코딩살구클럽
0
32
2
코딩살구클럽 문의
0
32
2
코딩살구클럽 승인
0
33
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
33
2
3-F 채점 관련 질문
0
30
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
32
2
코딩살구클럽 승인
0
44
2
코딩살구클럽승인
0
39
3
코딩살구클럽 승인
0
51
2
3-D 관련 질문
0
35
2
코살구 회원가입 문의
0
45
2
코살구 로그인 문제
0
65
2
3-A 문제 풀이 관련 질문
0
56
3
2-O 질문 있습니다
0
38
2
2-T 문제에 관한 질문
0
40
2
코딩 살구 클럽 접속 및 사용방법 문의
0
63
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
66
2
코딩살구클럽 로그인문제
0
84
3
코딩 살구 클럽 로그인 문제
0
85
2
2-J 채점관련 질문
0
67
3
코딩 살구 클럽 Python 지원 가능 여부
0
77
1
살구클럽 아이디 없음 문제
0
76
1





