14461번 - 소가 길을 건너간 이유 7
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로 계산합니다. 문제의 원인이 뭘까요??
이런 문제의 경우 싸이클이 발생하기 때문에 DP로는 풀 수 없습니다(문제 x를 해결하기 위해 x의 부분 문제 y를 해결해야하는데, y의 답을 구하기 위해서는 다시 x가 필요한 경우가 발생하기 때문)
댓글을 작성하려면 로그인해야 합니다.
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로 계산합니다. 문제의 원인이 뭘까요??