문제링크 : https://www.acmicpc.net/problem/9625
#include <bits/stdc++.h>
using namespace std;
int n;
int dpA[46];
int dpB[46];
int main()
{
dpA[0] = 0, dpA[1] = 1;
dpB[0] = 1; dpB[1] = 1;
cin >> n;
for (int i = 2; i < n; i++)
{
dpA[i] = dpA[i - 1] + dpA[i - 2]; //규칙을 살펴보면 피보나치 수열을 따름
dpB[i] = dpB[i - 1] + dpB[i - 2];
}
cout << dpA[n - 1] << ' ' <<dpB[n - 1];
}
일단 경우의 수를 나열해보면 규칙이 피보나치 수열을 따른 다는 것을 알 수 있다.
'백준 > 실버' 카테고리의 다른 글
[백준 11722번] 가장 긴 감소하는 부분 수열 (C++) (0) | 2023.02.06 |
---|---|
[백준 11055번] 가장 큰 증가 부분 수열 (C++) (0) | 2023.02.06 |
[백준 16935번] 파스칼의 삼각형 (C++) (1) | 2023.02.06 |
[백준 2491번] 수열 (C++) (0) | 2023.02.06 |
[백준 15990번] 1, 2, 3 더하기 5 (C++) (0) | 2023.02.06 |