문제: https://www.acmicpc.net/problem/14501
모든 경우를 다 구해봐야 하므로 DP 문제입니다.
제가 세운 점화식은 다음과 같습니다.
dp[day][revenue]: 특정 DAY까지 revenue를 벌었을 때의 상태를 저장했습니다.
dp[day][revenue] = max(특정 day 일을 하거나, 특정 day 일을 안하거나) 이렇게 나눌 수 있습니다.
특정 day 상담 일을 한다면 다음 날짜는 day 상담기간만큼 JUMP 할 것이고
특정 day 상담 일을 안한다면 day + 1 상담을 할 지 말지 결정하는 로직으로 넘어가면 됩니다.
코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ14501.cc
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1753번: 최단경로 (0) | 2020.07.08 |
---|---|
[BOJ]4179번: 불! (0) | 2020.07.02 |
[BOJ]1411번: 비슷한 단어 (0) | 2020.07.01 |
[BOJ]2668번: 숫자고르기 (0) | 2020.06.26 |
[BOJ]13549번: 숨바꼭질 3 (0) | 2020.06.20 |