백준/Class3
[백준] Class3-1,2,3 더하기 C++ 9095번
taene_
2023. 9. 21. 14:49
https://www.acmicpc.net/problem/9095
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
#include <iostream>
using namespace std;
int main()
{
int dp[12] = {0,1,2,4,};
int t;
cin >> t;
for (int i = 4; i <= 11; i++)
{
dp[i] = dp[i - 3] + dp[i - 2] + dp[i - 1];
}
while (t--)
{
int n;
cin >> n;
cout << dp[n] << '\n';
}
return 0;
}
규칙: n=1일때 1, n=2일때 2, n=3일때 4, n=4일때 7, n=5일때 13, ... 을 점화식으로 옮기면 dp[n]=dp[n-3]+dp[n-2]+dp[n-1]이 된다.