<< 문제 >>
https://www.acmicpc.net/problem/9461
점화식 조건 찾기가 나름 수월합니다.
P(i) = P(i-2) + P(i-3) 으로 Dynamic Programming을 이용해서 풀면 됩니다.
<< 코드 >>
#include <iostream>
using namespace std;
void fillTable(long long*& arr){
arr[1] = 1;
arr[2] = 1;
arr[3] = 1;
for (int i = 4; i < 101; i++) {
arr[i] = arr[i - 2] + arr[i - 3];
}
}
int main() {
int num;
cin >> num;
long long* arr = new long long[101];
fillTable(arr);
int numN;
for (int i = 0; i < num; i++) {
cin >> numN;
if (numN < 4) {
cout << 1 << '\n';
continue;
}
cout << arr[numN] << '\n';
}
delete[] arr;
}
<< 깃헙 >>
< 백준 BaekJoon : 1149번 RGB거리 > C++ (0) | 2024.01.28 |
---|---|
< 백준 BaekJoon : 1912번 연속합 > C++ (0) | 2024.01.28 |
< 백준 BaekJoon : 1904번 01타일> C++ (0) | 2024.01.27 |
< 백준 BaekJoon : 9184번 신나는 함수 실행> C++ (0) | 2024.01.27 |
< 백준 BaekJoon : 14889번 스타트와 링크 > C++ (0) | 2024.01.26 |
댓글 영역