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