백준[baekjoon]/C언어
백준(baekjoon) [Python] - 11051번: 이항 계수 2
_KTH_
2023. 2. 28. 18:42
728x90
https://www.acmicpc.net/problem/11051
11051번: 이항 계수 2
첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\))
www.acmicpc.net
#include <stdio.h> // 이항 계수 2
int dp[1001][1001];
void nCr(int n, int r)
{
dp[1][1] = 1;
dp[1][0] = 1;
for (int i = 2; i <= n; i++)
{
dp[i][0] = 1;
for (int j = 1; j < i; j++)
{
dp[i][j] = (dp[i - 1][j] + dp[i - 1][j - 1]) % 10007;
}
dp[i][i] = 1;
}
}
int main()
{
int n, k;
scanf("%d %d", &n, &k);
nCr(n, k);
printf("%d", dp[n][k]);
return 0;
}
MEMO
-- nCr = n-1Cr + n-1Cr-1 공식을 이용하여 해결
-- dp배열에 계산값을 저장하여 활용(동적 프로그래밍)
!! 오랜만에 떠올려보는 수학 !!
728x90
728x90