본문 바로가기
알고리즘/BOJ

BOJ 1003 ) 피보나치 함수

by twinkite 2021. 3. 12.
반응형

 

 

1003번: 피보나치 함수

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

www.acmicpc.net

간단한 DP로 해결할 수 있는 문제다. '피보나치 + 제한시간이 짧음' 에서 바로 DP가 생각나서 그렇게 풀었다. 그냥 피보나치문제를 풀 수 있다면 어려움 없이 풀 수 있는 문제.

#include <iostream>
#include <vector>
#define pii pair<int,int>
#define x first
#define y second
using namespace std;
int T,N;
pii fib[42];

void makefib(){
    fib[0]={1,0};
    fib[1]={0,1};
    for(int i=2;i<=40;i++){
        fib[i].x=fib[i-1].x+fib[i-2].x;
        fib[i].y=fib[i-1].y+fib[i-2].y;
    }
}

int main(){
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);
    cin>>T;
    makefib();
    while(T--){
        cin>>N;
        cout<<fib[N].x<<" "<<fib[N].y<<'\n' ;
    }
}
반응형

'알고리즘 > BOJ' 카테고리의 다른 글

BOJ 4179 ) 불! (C++)  (0) 2021.07.28
BOJ 1012 ) 유기농 배추  (0) 2021.03.12
BOJ 5829 ) Luxury River Cruise  (0) 2020.09.22
BOJ 5980 ) Corn Maze  (0) 2020.09.20
BOJ 14675 ) 단절점과 단절선  (0) 2020.09.19