mygm1302   5년 전

포도주의 개수가 n개일때 마실수 있는 최대량을 f(n)이라 하고,

n번째 포도주의 양을 an이라고 할때

f(n)=max(f(n-1),f(n-2)+an,(fn-3)+an+a(n-1))

임을 이용하여 풀었습니다.

반복문을 이용해 bottom-up으로 풀었을때는 런타임에러가 발생하지 않았는데,

재귀를 이용해 top-down으로 풀었을때는 런타임에러가 발생했습니다.

sys모듈을 임포트해 재귀 깊이를 인위적으로 늘려보아도 시간 초과가 발생합니다.

단순히 함수 호출에 의한 오버헤드때문인가요?

아니면 제가 놓친 부분이 있는건가요?

jh05013   5년 전

놀랍게도 그냥 Python3로 제출하면 잘 돌아갑니다. Pypy3가 불안정하긴 한데 이건 너무 이상하군요.

@startlink

댓글을 작성하려면 로그인해야 합니다.