반응형
문제
풀이
n 번째에서 1,2,3의 합으로 이루어진 경우는
n-1 번째에서 각각의 값에 1을 더하는 경우
n-2 번째에서 각각의 값에 2를 더하는 경우
n-3 번째에서 각각의 값에 3을 더하는 경우로 나타낼 수 있다.
-> f(n) = f(n-1) + f(n-2) + f(n-3)
코드
#include<iostream>
using namespace std;
int DP[11];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int T;
cin >> T;
DP[1] = 1;
DP[2] = 2;
DP[3] = 4;
int check;
for (int N = 4; N <= 11; N++) DP[N] = DP[N - 1] + DP[N - 2] + DP[N - 3];
for (int i = 0; i < T; i++) {
cin >> check;
cout << DP[check] << '\n';
}
}
반응형
'Development > Algorithm' 카테고리의 다른 글
[BOJ] 11057. 오르막수 (0) | 2020.09.22 |
---|---|
[BOJ] 10844. 쉬운 계단 수 (0) | 2020.09.20 |
[BOJ] 11727. 2 x n 타일링2 (0) | 2020.09.20 |
[BOJ] 11726. 2 x n 타일링 (0) | 2020.09.20 |
[BOJ] 1463. 1로 만들기 (0) | 2020.09.20 |