알고리즘/BOJ

[BOJ 9095] 1,2,3 더하기

히더 2018. 7. 23. 14:12


출처 : https://www.acmicpc.net/problem/9095


1. dp를 이용해 계산한다.


#include <iostream>

#include <algorithm>

using namespace std;


#define MAX_N 12


int i, N, T, result;

int dp[MAX_N];


void input()

{

cin >> N;

}


void cal()

{

dp[0] = 0; dp[1] = 1; dp[2] = 2; dp[3] = 4;

for (i = 4; i <= N; i++)

{

dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];

}

result = dp[N];

}


int main()

{

cin >> T;

while (T--)

{

input(); cal();

cout << result << endl;

}

}