37 * 37 = 4,782,969로 short의 범위를 벗어납니다
1780번 - 종이의 개수
재귀함수의 기저사례가 잘못되었습니다.
페이퍼사이즈가 1일때 그냥 종료되는데, 페이퍼사이즈가 1인것도 그 수로 채워진 종이의 갯수를 증가시켜야합니다.
애초에 기저사례는 구간 내의 수가 모두 같은 경우이고, 페이퍼사이즈가 1인것은 이 경우에 포함되므로 페이퍼사이즈가 1인지를 따로 검사할 필요도 없습니다.
다시보니 1 미만일때 종료였네요. deepred님 말대로 오버플로우가 틀린이유인것 같습니다.
그렇지만 21라인의 검사는 역시 무의미하므로 삭제하는게 좋습니다.
헐;;;;
최대한 메모리 크기 줄여보겠다고 short쓴거였는데... 멍청했네요ㅠㅠ
paperNumber 변수 short에서 int 로 수정하니까 바로 맞았어요ㅠㅠ
답변 달아주신 두 분 모두 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
earlgrey94 3년 전
게시판에 올라와있는 반례 전부 통과하는데 도대체 어디가 틀린건지....
반례 부탁드립니다.
혹시 소스관련해서 조언해주실 수 있으면 냉정한 조언도 감사히 받겠습니다. :)