문제에 적힌 점화식에 따라 코드를 작성하면 된다
Top-down 방식으로 작성하였다
#include <iostream>
using namespace std;
long long int arry[91];
long long int dp(int n){
if(n==0) return 0;
if(n==1) return 1;
if(arry[n]!=0) return arry[n];
return arry[n] = dp(n-1) + dp(n-2);
}
// long long int 배열을 사용할때 리턴값 또한 long long int로 바꾸어야 한다. 계속 int dp()로 선언했기 때문에 arry[n]을 리턴할때 오류가 생겼음
int main(){
int number;
cin >> number;
cout << dp(number) << endl;
}
'Coding > 백준' 카테고리의 다른 글
14502번 연구소 (0) | 2019.09.03 |
---|---|
1937번 욕심쟁이 판다 (0) | 2019.09.03 |
1932번 정수 삼각형 (0) | 2019.09.03 |
2583번 영역구하기 (0) | 2019.09.03 |
10026번 적록색약 (0) | 2019.09.03 |