- toc {:toc}
풀이
주어진 그림에서 몇 개 더 생각해봤더니 규칙이 보였다. N이 5일 때까지는 11122로 연속되지만 N이 6이상일 때는 N-1의 변의 길이와 N-5의 변의 길이의 합으로 이루어진다. 항상 마지막으로는 길이가 자료형을 뛰어넘는 지를 확인한다.
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
long long dp[103] = {0,};
int main(){
ios::sync_with_stdio(0); cin.tie(0);
int T;
cin >> T;
dp[1] = 1;
dp[2] = 1;
dp[3] = 1;
dp[4] = 2;
dp[5] = 2;
while(T--){
int N;
cin >> N;
if(N <= 5){
cout << dp[N] << endl;
continue;
}
for(int i = 6; i <= N; i++){
dp[i] = dp[i-1] + dp[i-5];
}
cout << dp[N] << endl;
}
return 0;
}