zagame   6달 전

계단 오르기 : 1칸 or 2칸 이동가능, 연속 3개 못 밟음, 점수 최대값?

f(n) = MAX2( f(n-3) + s(n-1) + s(n) , f(n-2) + s(n) ) ; // s(n) : n번째 계단 점수, f(n) : n번째 계단 까지의 점수 최대값

포도주 시식 : 연속 3잔 못마심, 최대 포도주 양?

f(n) = MAX3( f(n-3) + s(n-1) + s(n), f(n-2) + s(n) , f(n-1) ); // 의미는 위와 동일

근데 여기서 왜 포도주에는 f(n-1)도 같이 비교해 주는 걸까요...? 제가 놓치고 있는 부분이 뭘까요 ㅠㅠ?

noeffserv   6달 전

f(n)은 적어도 max(f(1),f(2).... ,f(n - 1)) 값을 가져야 하기 때문입니다.

zagame   6달 전

잘 이해가 안가는데요 ㅠㅠ 조금만 더 풀어서 설명해주실수 있나요 ㅠㅠ?

계단 오를때랑 문제가 똑같아 보이는데 점화식에 저게 하나 추가된 이유가 궁금해요 ㅠㅠ 

noeffserv   6달 전

계단을 밟아서 올라갈때는 현재 위치에서 두계단 아래나 한계단 아래를 반드시 밟아야 현재 위치로 올수 있습니다.

하지만 포도주 시식에서는 반드시 그럴필요가 없죠. 그래서 MAX3에 f(n - 1) 이 추가 되는것입니다.

zagame   6달 전

친절한 설명 감사드립니다^^!

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