백준 11051 이항 계수 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 18분
 
#include <cstdio>
using namespace std;
 
int d[1001][1001];
 
// nCr = n-1Cr + n-1Cr-1
int dp(int n, int k) {
    if (d[n][k] > 0return d[n][k];
    if (n < k) return 0;
    else if (n == k || k == 0return 1;
    else 
        return d[n][k] = (dp(n - 1, k) + dp(n - 1, k - 1)) % 10007;
}
 
int main() {
    int n, k;
    scanf("%d %d"&n, &k);
    printf("%d\n", dp(n, k));
    return 0;
}
 
cs




DP를 이용한 조합 문제 풀이


예외조건을 잘 처리해줄 것!











'Algorithm' 카테고리의 다른 글

백준 1309 동물원  (0) 2018.05.18
백준 1965 상자넣기  (0) 2018.05.18
백준 4344 평균은 넘겠지  (0) 2018.05.18
백준 9251 LCS  (0) 2018.05.18
백준 2167 2차원 배열의 합  (0) 2018.05.18
더보기

댓글,

jayharvey

머신러닝/딥러닝 관련 글을 포스팅할 예정입니다 :)