문제 -> https://www.acmicpc.net/problem/2225
자릿수가 증가함에 따라 어떻게 경우의 수를 구해야 할지
단순하게 생각해야 한다.
뭐든지, 문제는 단순화 시킨 후 확장.
예를들어 N = 7, K = 3인 상황을 생각해보자.
단순하게
K자리에 N 부터 0 까지 차례대로 들어가고,
N - K자리에 있는 값을 합으로 가지는 K-1 자리의 dp값을 가져오면 된다.
즉, 점화식은 아래와 같다.
dp[i][j] += dp[i - 1][j - k];
(3중 for문으로 쓰여서 i, j, k가 쓰였다.)
그림을 보면 이해가 될지도 모른다.
아래는 위 과정을 표로 나타냈다.
'BOJ' 카테고리의 다른 글
[BOJ][DP] 1937. 욕심쟁이 판다 (0) | 2018.01.31 |
---|---|
[BOJ][DP] 1965. 상자넣기 (0) | 2018.01.27 |
[BOJ][DP] 1309. 동물원 (2) | 2018.01.26 |
[BOJ][DP] 1904. 01타일 (0) | 2018.01.25 |
[BOJ][DP] 11054. 가장 긴 바이토닉 수열 (0) | 2018.01.24 |