
예제 입력 1
3
4
7
10
예제 출력 1
7
44
274
1 = 1 -> 1개
2 = 1+1 / 2 -> 2개
3 = 1+1+1 / 1+2 / 2+1 / 3-> 4개
4 = 1+1+1+1 / 1+1+2 / 1+2+1 / 2+1+1 / 2+2 /1+3 / 3+1 -> 7개
즉
d[1] = 1
d[2] = 2
d[3] = 4
을 사용하고
d[n] = d[n-1] + d[n-2] + d[n-3]으로 진행되는 것을 확인
#include <iostream>
#include <string>
using namespace std;
int input, q_num;
int d[1001];
int jumfa(int q_num)
{
int output;
d[1] = 1;
d[2] = 2;
d[3] = 4;
for(int i = 4;i<=q_num;i++)
{
d[i] = d[i-1]+d[i-2]+d[i-3];
}
return d[q_num];
}
int main()
{
int answ;
cin >> input;
for(int i=1;i<=input;++i)
{
cin >> q_num;
answ = jumfa(q_num);
cout << answ <<"\n";
}
}