• 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;
}