Recent Posts
Notice
No Rules Rules
이항 계수 2 (feat. 백준, 11051번) 본문
728x90
반응형
이항 계수 2
https://www.acmicpc.net/problem/11051
반응형
// woohyeon.kim
// https://www.acmicpc.net/problem/11051
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false), cin.tie(), cout.tie();
register int N, K, dp[1001][1001];
cin >> N >> K;
dp[1][0] = dp[1][1] = 1;
for (register int n = 2, k; n <= N; ++n)
for (k = 0; k <= n; ++k)
if (k == 0 || k == n)
dp[n][k] = 1;
else
dp[n][k] = (dp[n - 1][k - 1] + dp[n - 1][k]) % 10007;
cout << dp[N][K] << endl;
return 0;
}
// *&)*@*
- nCk. 즉, n개 중에 k개를 고르는 조합은 n!/(k! * (n-k)!) 의 수식을 가지고 있습니다.
- 또한 조합은 파스칼의 삼각형이라는 성질을 그대로 가지고 있습니다.
- 해당 문제는 dp 유형이므로 파스칼의 삼각형을 이용하기로 하였습니다.
- 아래는 파스칼의 삼각형에 대한 방법을 정리할겸 그려봤습니다. 그 내용이 코드에 그대로 녹아져있습니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
아기 상어 (feat. 백준, 16236번) (0) | 2022.07.24 |
---|---|
로봇 청소기 (feat. 백준, 14503번) (0) | 2022.07.24 |
가장 긴 감소하는 부분 수열 (feat. 백준, 11722번) (0) | 2022.07.23 |
제곱수의 합 (feat. 백준, 1699번) (0) | 2022.07.23 |
연구소 (feat. 백준, 14502번) (0) | 2022.07.23 |
Comments