https://www.acmicpc.net/problem/23831
문제요약
- 4개의 방, 각각 만족도
- 요양신청 횟수, 연속 휴게 안됨, 자습 횟수
- 조건을 만족시키며 최대 만족도
- N = 100
접근법
- dp
- [요양횟수][자습횟수][이전에휴게인지아닌지] * 100일 : 2000000
- 서로 간섭이 없어서 날짜배열 하나만 사용해도 됨
- dp 배열을 채울때, 이전 인덱스가 되어있으면 산출이 가능
- 높은 것부터 채워나가도 됨 => 낮아질 일이 없음
- 자습 : 자습횟수 + 1, 휴게 : 1 -> 0, 0 -> 0
- 요양 : 요양횟수 + 1, 휴게 : 1 -> 0, 0 -> 0
- 휴게 : 휴게 0 -> 1만 가능
- 그런데 [이전휴게인지아닌지][요양횟수][자습횟수] 이렇게 표현하면 안되게도 하겠다
- 됨
- [10][1] -> [11][0]
- [10][0] -> [11][0]
- 안됨
- [1][10] -> [0][11]
- [0][10] -> [0][11]
- ... [0][11] -> [1][11]