
풀이과정
Dynamic Programming을 사용한다.
점화식을 구하면
1.f(1)일 때 1가지 방법이 있다.
2.f(2)일 때 2가지 방법이 있다.
3. n이 2보다 클 때 f(n)일 때, f(n) = f(n-1) + f(n-2)
코드
더보기
#include <iostream>
using namespace std;
int main()
{
int d[1001] = { 0, };
int iInput = 0;
d[1] = 1;
d[2] = 2;
cin >> iInput;
for (int i = 3; i <= iInput; ++i)
{
d[i] = (d[i - 1] + d[i - 2]) % 10007;
}
cout << d[iInput] << endl;
return 0;
}
'알고리즘(C++) > 백준 알고리즘' 카테고리의 다른 글
| [백준] C++ 1932번 : 정수 삼각형 (0) | 2019.11.14 |
|---|---|
| [백준] C++ 1149번 : RGB 거리 (0) | 2019.11.14 |
| [백준] C++ 1003번 : 피보나치 함수 (0) | 2019.11.14 |
| [백준] C++ 2579번 : 계단 오르기 (0) | 2019.11.13 |
| [백준] C++ 9095번 : 1, 2, 3 더하기 (0) | 2019.11.12 |