https://www.acmicpc.net/problem/9461
#include <iostream>
using namespace std;
long long arr[101];
long long p(int n) {
if (arr[n] != -1) {
return arr[n];
}
else {
arr[n] = p(n - 3) + p(n - 2);
return arr[n];
}
}
int main() {
int t = 0;
cin >> t;
for (int i = 0; i < t; i++) {
fill_n(arr, 101, -1);
arr[0] = 0;
arr[1] = 1;
arr[2] = 1;
int n;
cin >> n;
cout << p(n) << '\n';;
}
return 0;
}
'algorithm > DP' 카테고리의 다른 글
[프로그래머스] 2 * n 타일링 (0) | 2020.08.24 |
---|---|
[백준/1003] 피보나치 함수 (0) | 2020.04.03 |
[백준/2748] 피보나치 수 2 (0) | 2020.04.03 |
댓글