1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> dp(35, vector<int>(35, -1));
int findAnswer(int m, int n) {
if (m == n || n==0) {
dp[m][n] = 1;
return 1;
}
if (n == 1) {
dp[m][n] = m;
return m;
}
int& ret = dp[m][n];
if (ret != -1)
return ret;
return ret = findAnswer(m - 1, n - 1) + findAnswer(m - 1, n);
}
int main() {
int t;
cin >> t;
for (int tc = 0; tc < t; tc++) {
int n, m;
cin >> n >> m;
//mCn
//결국 m개에서 n개 뽑는 문제와 같다 왜냐면 순서는 뽑고 나면 정해짐
cout << findAnswer(m, n) << "\n";
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs |
이 문제는 결국 mCn 을 찾아내는 문제였다.
왜냐하면 일단 m개에서 n개를 뽑으면 다리끼리 겹쳐지지 못하므로 순서도 정해진다
'Baekjoon' 카테고리의 다른 글
[#9012] 괄호 (0) | 2020.03.15 |
---|---|
[#10828] 스택 (0) | 2020.03.15 |
[#9465] 스티커 (0) | 2020.03.14 |
[#9375] 패션왕 신혜빈 (0) | 2020.03.14 |
[#11051] 이항 계수 2 (0) | 2020.03.14 |