#include <bits/stdc++.h>
using namespace std;
long dp[201][201];
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n, k,mod= 1000000000;
cin >> n >> k;
for (int i = 0; i <= n; i++) {
dp[1][i] = 1;
}
for (int i = 2; i <= k; i++) {
for (int j = 0; j <= n; j++) {
for (int l = 0; l <= j; l++) {
dp[i][j] += dp[i - 1][l];
dp[i][j] %= mod;
}
}
}
cout << dp[k][n];
return 0;
}
점화식 - dp[k][n] = d[k-1][l]
마지막요소를 제외하면 k-1개로 n을 만드는 점화식을 세우면 된다.
'Algorithm' 카테고리의 다른 글
[백준] 알고리즘 수학 - 나머지연산, GCD, LCM, 진법변환, 소수 (0) | 2020.12.14 |
---|---|
[백준] 알고리즘 2011번 - 암호코드 문제 (0) | 2020.12.14 |
[백준] 알고리즘 9461번 - 파도반 수열 문제 (0) | 2020.12.12 |
[백준] 알고리즘 2133번 - 타일 채우기 문제 (0) | 2020.12.11 |
[백준] 알고리즘 1699번 - 제곱수의 합 문제 (0) | 2020.12.11 |