백준
[c++/백준] 9095 1, 2, 3 더하기
돈 많은 백수가 되고싶다
2023. 5. 5. 23:59
https://www.acmicpc.net/problem/9095
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin >> n;
int dp[13] = {};
dp[0] = 1;
dp[1] = 2;
dp[2] = 4;
for (int i = 3; i < 12; i++) {
dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
}
for (int i = 0; i < n; i++) {
int x;
cin >> x;
cout << dp[x - 1] << endl;
}
}
다이나믹 프로그래밍 꿀팁! 없음요
그냥 규칙만 잘 찾으면 끝,,
그 이후에는 시간초과 안걸리게 재귀 사용하지 않고 동적계획법 사용하면 됩니다 짜잔~