본문 바로가기

Study/algorithms

[백준] 11051. 이항계수2

반응형

https://www.acmicpc.net/problem/11051

 

이항계수 성질중 파스칼법칙을 써서 구하는데 시간초과가 나서 메모이 제이션으로 최적화 시켰다.

위키피디아에 이항계수검색하고 메모이제이션 검색하면 나올 것이다.

#include <cstdio>
const int MODULO = 10007;
int d[1003][1003];

// pascal's rule
int binomial_coefficient(int n, int k) {
    if (n == k || k == 0) {
        return 1;
    }else if (d[n][k] == 0) {
        d[n][k] = (binomial_coefficient(n-1,k-1) + binomial_coefficient(n-1, k))%MODULO;
    }  
    return d[n][k];
}
int main() {
    int n, k;
    scanf("%d %d", &n, &k);

    printf("%d\n", binomial_coefficient(n,k));
}

'Study > algorithms' 카테고리의 다른 글

[백준] 1676. 팩토리얼 0의 개수  (0) 2020.02.18
[백준] 9375. 패션왕 신해빈  (0) 2020.02.16
[백준] 11050 이항계수1  (0) 2020.02.15
[백준] 3036. 링  (0) 2020.02.15
[백준] 1541. 잃어버린 괄호  (0) 2020.02.11