득이공간

[백준 C++] 9095 1, 2, 3 더하기 - 다이나믹프로그래밍 본문

PS/알고리즘 문제풀이

[백준 C++] 9095 1, 2, 3 더하기 - 다이나믹프로그래밍

쟁득 2024. 2. 4. 17:27
 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

#include <iostream>
using namespace std;

int DP[11];

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

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

	for (int i = 4; i < 11; ++i)
	{
		DP[i] = DP[i - 1] + DP[i - 2] + DP[i - 3];
	}

	int T;
	cin >> T;
	for (int i = 0; i < T; ++i)
	{
		int Number;
		cin >> Number;
		cout << DP[Number] << '\n';
	}
}

 

DP 문제입니다.
점화식만 도출해내면 간단하게 풀 수 있습니다.