Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[실버 4] 1010번 다리 놓기 본문
반응형
#include <iostream>
#include <memory.h>
using namespace std;
int memo[50][50];
int Combination(int n, int k)
{
// 0개를 선택하거나 5개의 공에서 5개를 선택하는 경우의 수는 1.
if (k == 0 || n == k)
return 1;
if (memo[n][k] != -1)
return memo[n][k];
// 한번도 구한적이 없다면 계산하고 저장.
return memo[n][k] = Combination(n - 1, k) + Combination(n - 1, k - 1);
}
int main(void)
{
::memset(memo, -1, sizeof(memo));
int count,west,east;
cin >> count;
for (int i = 0; i < count; ++i)
{
cin >> west >> east;
std::cout << Combination(east, west) << std::endl;
}
return 0;
}
경우의 수와 n과 r이 같은 경우 1이 나올 때 조합을 떠올리자.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
5543번(상근날드), 5575(타임카드) (0) | 2021.12.19 |
---|---|
2530번,2588번 (0) | 2021.09.25 |
2480번, 2525번 (0) | 2021.09.17 |
3046번,5564번,8393번 (0) | 2021.09.12 |
2845번, 2914번, 3003번 (0) | 2021.09.09 |
Comments