MY MEMO
[BAEKJOON] 1010 다리놓기 본문
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 | #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <vector> using namespace std; vector<vector< int >> memorization; int calculate( int n, int k) { if (k == 1) return n; if (n == k) return 1; int &ret = memorization[n][k]; if (ret != -1) return ret; return ret = calculate(n - 1, k - 1) + calculate(n - 1, k); } int main() { int for_count; scanf ( "%d" , &for_count); memorization = vector<vector< int >>(31, vector< int >(31, -1)); for ( int i = 0; i < for_count; i++) { int left_bridge, right_bridge; scanf ( "%d %d" , &left_bridge, &right_bridge); cout << calculate(right_bridge, left_bridge) << endl; } return 0; } |
'ALGORITHM > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 1463 1로 만들기 (0) | 2017.09.26 |
---|---|
[BAEKJOON] 1149 RGB거리 (0) | 2017.09.26 |
[BAEKJOON] 1003 피보나치 (0) | 2017.09.26 |
[BAEKJOON] 9095 123더하기 (0) | 2017.09.26 |
[BAEKJOON] 11057 오르막 오르기 (0) | 2017.09.16 |