본문 바로가기

ALGORITHM/DP

9095 1, 2, 3 더하기

https://www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

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

www.acmicpc.net

DP와 친해지고자 풀었는데 예전에 풀었던 문제였다.

DP에 대해 아는 것이라곤 점화식을 구하는 것 뿐.. 화이팅!

#include <iostream>
#include <algorithm>
using namespace std;

int T, n, dp[11];

int main(int argc, const char * argv[]) {
    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];
    }
    
    cin >> T;
    while(T--) {
        cin >> n;
        cout << dp[n] << "\n";
    }
    
    return 0;
}

'ALGORITHM > DP' 카테고리의 다른 글

[Swift] 5582 공통 부분 문자열 (DP)  (0) 2022.03.30
[c++] 7579 앱 (knapsack)  (0) 2021.08.10
2156 포도주 시식  (0) 2021.01.09