Baekjoon Review
[Silver 3] 9461번 파도반 수열
hanseongbugi
2023. 11. 14. 18:02
https://www.acmicpc.net/problem/9461
9461번: 파도반 수열
오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의
www.acmicpc.net
이 문제는 DP를 통해 해결할 수 있다.
알고리즘은 다음과 같다.
수의 변화는 전 요소와 5번째 전 요소를 합한 값과 같다.
이는 6번째 요소부터 규칙을 가지기 때문에 이를 코드로 변화시키면 된다.
#include <iostream>
#include <string>
using namespace std;
int N;
long long dp[101];
int main() {
int T;
cin >> T;
for (int i = 0; i < T; i++) {
cin >> N;
dp[1] = 1;
dp[2] = 1;
dp[3] = 1;
dp[4] = 2;
dp[5] = 2;
for (int i = 6; i <= N; i++) {
dp[i] = dp[i - 1] + dp[i - 5];
}
cout << dp[N] << '\n';
}
}