Algorithm/Problem Solve

[백준 1003] 피보나치 함수 (DP문제)

아네스 2020. 12. 15. 18:09
반응형

vector pair안쓰고 그냥 '0' 개수세는 배열 , '1' 개수 세는 배열 만들고 해도 될듯.

 

 

1003번: 피보나치 함수

각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.

www.acmicpc.net

#include <bits/stdc++.h>

using namespace std;
vector<pair<int,int>> v;

int main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int N;
    cin >> N;
    v.push_back({1,0});
    v.push_back({0,1});
    //first = 0의 개수, second = 1의 개수
    for(int i = 2; i<=40; i++)
    {
        int a, b;
        a = v[i-1].first + v[i-2].first;
        b = v[i-1].second + v[i-2].second;
        v.push_back({a,b});
    }
    for(int i = 0 ; i< N; i++)
    {
        int tmp;
        cin >> tmp;
        cout << v[tmp].first << ' ' << v[tmp].second<< "\n" ;
    }
}
반응형