티스토리 뷰

728x90
#include "iostream"
using namespace std;

int dp[41] = { 0, 1 };

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int T;
    cin >> T;
    int data[T];
    int max = -5;
    for(int i=0; i<T; i++){
        cin >> data[i];
        if( data[i] > max){
            max = data[i];
        }
    }

    for(int i=2; i<=max; i++){
        dp[i] = dp[i-1]+dp[i-2];
    }

    for(int i=0; i<T; i++){
        if(data[i] == 0) cout << "1 0\n";
        else if(data[i] == 1) cout << "0 1\n";
        else cout << dp[data[i]-1] << " " << dp[data[i]] << "\n";
    }
}

반복문으로 원하는 값까지 더해서 출력하는 것이 빠른 것 같다고 생각이 든다.

재귀 호출, DP, 반복문 모두 구현해서 각 속도를 확인을 해보긴 해야겠다.

반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함