※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 9507번 문제인 Generations of Tribbles이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/9507
9507번: Generations of Tribbles
꿍은 군대에서 진짜 할짓이 없다. 그래서 꿍만의 피보나치를 만들어보려고 한다. 기존의 피보나치는 너무 단순해서 꿍은 좀더 복잡한 피보나치를 만들어보고자 한다. 그래서 다음과 같은 피보
www.acmicpc.net
문제에 주어진 초기값과 점화식을 이용해 수열의 값을 계산하는 문제이다.
주어진 점화식을 이용해 \(a_4\)부터 하나씩 차근차근 계산해 문제를 해결하자.
문제의 답이 32비트 정수범위를 넘으므로 64비트 정수 자료형을 이용하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long long ll;
ll dp[68];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
dp[0] = dp[1] = 1, dp[2] = 2, dp[3] = 4;
for (int i = 4; i < 68; i++) dp[i] = dp[i - 4] + dp[i - 3] + dp[i - 2] + dp[i - 1];
int T; cin >> T;
while (T--) {
int x; cin >> x;
cout << dp[x] << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 15243 // C++] Tiling (0) | 2023.05.12 |
---|---|
[BOJ 15506 // C++] 정원사 (1) | 2023.05.11 |
[BOJ 3117 // C++] YouTube (0) | 2023.05.09 |
[BOJ 14365 // C++] Slides! (Small) (0) | 2023.05.08 |
[BOJ 14366 // C++] Slides! (Large) (0) | 2023.05.07 |