반응형
-문제
-코드
조합을 이용한 재귀, 메모이제이션
#include <iostream>
#include <vector>
using namespace std;
int dp[31][31];
int d(int x, int y)
{
if (dp[x][y] > 0) return dp[x][y];
else if (x==y || y == 0) return 1;
else return dp[x][y] = d(x-1,y) + d(x-1, y-1);
}
int main()
{
int t, n, m;
cin >> t;
vector<vector<int> > a(t, vector<int>(2));
for (int i = 0; i < t; i++)
{
cin >> a[i][0];
cin >> a[i][1];
}
for (int i = 0; i < t; i++)
{
printf("%d\n", d(a[i][1], a[i][0]));
}
return 0;
}
반응형
'이론 > 코딩테스트' 카테고리의 다른 글
[백준] 1806번 부분합 (투포인터 알고리즘) (0) | 2022.07.29 |
---|---|
[백준] 2003번 수들의 합 2 (투포인터 알고리즘) (0) | 2022.07.29 |
[백준] 11724번 연결 요소의 개수 (DFS) (0) | 2022.07.28 |
[백준] 2606번 바이러스 (DFS) (0) | 2022.07.28 |
[백준] 1003번 피보나치 함수 (동적 계획법/Dynamic Programming) (0) | 2022.07.28 |