작성한 코드는 다음과 같다.
이렇게 점화식을 찾아 다이나믹 프로그래밍으로 구현하는 문제는,
처음 dp[1], dp[2], dp[3] ... 정도를 직접 계산하며 앞뒤와의 관계를 직접 찾아내 점화식을 구하는 것이 중요했다.
#include <iostream>
using namespace std;
int main(){
int t;
cin >> t;
int dp[1001];
dp[1] = 1; dp[2] = 2; dp[3] = 4;
for(int i=4; i<=10; i++)
dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
int n;
for(int i=0; i<t; i++) {
cin >> n;
cout << dp[n] << "\n";
}
return 0;
}
'백준' 카테고리의 다른 글
백준 11659 구간 합 구하기 4 c++ (0) | 2024.03.12 |
---|---|
백준 11048 이동하기 c++ (0) | 2024.03.11 |
백준 1912 연속합, c++ (0) | 2024.03.10 |
백준 11727 2xn 타일링 2, c++ (0) | 2024.03.10 |
백준 2579 계단 오르기, c++ (0) | 2024.03.09 |