Green55   6년 전


1시간 넘게 디버깅 해봤는데 어디가 문제인지 도저히 모르겠습니다.

solve(1,2,2)에서의 실제 최적은 d=0 일 때의 solve(2,2,0)을 택하는 것인데, solve(2,2,0)이 INF로 계산이 됩니다.

원래 solve(2,2,0)의 값은 9여야 하고, main에서 애초에 solve(0,0,0)을 호출하지 말고 처음부터 solve(1,2,2)를 호출하면 제대로 solve(2,2,0)을 9로 계산합니다. 문제의 원인이 뭘까요??

jwvg0425   6년 전

이런 문제의 경우 싸이클이 발생하기 때문에 DP로는 풀 수 없습니다(문제 x를 해결하기 위해 x의 부분 문제 y를 해결해야하는데, y의 답을 구하기 위해서는 다시 x가 필요한 경우가 발생하기 때문)

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