#include <iostream>
using namespace std;
int n;
int dp[101];
int DFS(int n) {
if(dp[n] > 0) return dp[n];
else {
return dp[n] = DFS(n - 1) + DFS(n - 2); // 메모이제이션
}
}
int main() {
freopen("input.txt", "rt", stdin);
cin >> n;
dp[1] = 1;
dp[2] = 2;
cout << DFS(n);
return 0;
}
메모이제이션을 통해, 다음번에 동일한 계산을 반복하지 않도록한다.
ex)
7