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
|
#include <iostream>
#include <vector>
#define mod 10007
using namespace std;
vector<vector<int>> dp(1001, vector<int>(1001, -1));
int findAnswer(int n, int k) {
if (n == k || k==0) {
dp[n][k] = 1 ;
return 1;
}
if (k == 1) {
dp[n][k] = n % mod;
return dp[n][k];
}
int& ret = dp[n][k];
if (ret != -1)
return ret;
return ret = (findAnswer(n - 1, k) + findAnswer(n - 1, k - 1)) % mod;
}
int main() {
int n, k;
cin >> n >> k;
cout << findAnswer(n, k);
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 |
(n k) = (n-1 k) + (n-1 k-1)
기저사례로는
1) n==k, dp[n][k]=1;
2) k==0, dp[n][k]=1; //이걸 몰랐음
3) k==1, dp[n][k]=n;
그리고 mod연산은 분배 법칙 XXXXX
'Baekjoon' 카테고리의 다른 글
[#9465] 스티커 (0) | 2020.03.14 |
---|---|
[#9375] 패션왕 신혜빈 (0) | 2020.03.14 |
[#11050] 이항 계수 1 (0) | 2020.03.14 |
[#11653] 소인수분해 (0) | 2020.03.14 |
[#1037] 약수 (0) | 2020.03.14 |