1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <stdio.h> typedef long long ll; ll dp[1000][1000] = { 0 }; int main() { int m, n; scanf("%d %d", &m, &n); for (int i = 1; i <= m; i++) { dp[i][0] = 1; dp[i][1] = i; dp[i][i] = 1; } for (int i = 2; i < m; i++) { for (int j = 2; j <= i; j++) { dp[i + 1][j] = dp[i][j - 1] + dp[i][j]; } } ll rst = 0; for (int i = 0; i <= n; i++) { rst += dp[m][i]; } printf("%lld", rst); } | cs |
'알고리즘 > DP' 카테고리의 다른 글
주사위 쌓기 더블릿 (0) | 2019.02.18 |
---|---|
완전순열 더블릿 (0) | 2019.02.18 |
구간 차의 합 최대 - 더블릿 (0) | 2019.02.16 |
2662 기업투자 (0) | 2019.02.16 |
구간차의 합 문서 더블릿 (0) | 2019.02.16 |