๐Ÿ“ฆ Chango/๐Ÿซ First Solve at School

[BOJ S4][C++] ๋ฐฑ์ค€ 14495๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด

์„ ๋‹ฌ 2022. 12. 29. 18:29
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/14495

 

14495๋ฒˆ: ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด

ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด์€ f(n) = f(n-1) + f(n-3)์ธ ์ˆ˜์—ด์ด๋‹ค. f(1) = f(2) = f(3) = 1์ด๋ฉฐ ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด์„ ๋‚˜์—ดํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ... ์ž์—ฐ์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„ n๋ฒˆ์งธ ํ”ผ๋ณด

www.acmicpc.net

 

๋ฌธ์ œ

ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด์€ f(n) = f(n-1) + f(n-3)์ธ ์ˆ˜์—ด์ด๋‹ค. f(1) = f(2) = f(3) = 1์ด๋ฉฐ ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด์„ ๋‚˜์—ดํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ...

์ž์—ฐ์ˆ˜ n์„ ์ž…๋ ฅ๋ฐ›์•„ n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜์—ด์„ ๊ตฌํ•ด๋ณด์ž!

์ž…๋ ฅ

์ž์—ฐ์ˆ˜ n(1 ≤ n ≤ 116)์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

n๋ฒˆ์งธ ํ”ผ๋ณด๋‚˜์น˜ ๋น„์Šค๋ฌด๋ฆฌํ•œ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

๋งž๊ฒŒ ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ํ‹€๋ ธ๋‹ค๊ณ  ๋œจ๋ฉด long long ๋ฒ”์œ„๋ฅผ ์ƒ๊ฐํ•˜์ž

// Authored by : seondal
// Co-authored by : -

// #include <bits/stdc++.h>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
    
    int n;
    cin >> n;
    
    vector<long long> fibo(n+1, 1);
    for(int i=4; i<=n; i++) {
        fibo[i] = fibo[i-1] + fibo[i-3];
    }
    
    cout << fibo[n];
    
    return 0;
}

/*
 */

 

๋ฐ˜์‘ํ˜•