HyeLog
9095_1, 2, 3 더하기 본문
합이 1로 끝나는 경우, 2로 끝나는 경우, 3으로 끝나는 경우로 나눌 수 있음을 이용해서 dp로 풀이했다.
#include <iostream>
#define MAX 11
using namespace std;
int d[MAX];
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t, n;
cin >> t;
while (t--) {
cin >> n;
d[1] = 1;
d[2] = 2;
d[3] = 4;
for (int i = 4; i <= n; i++) {
d[i] = d[i - 1] + d[i - 2] + d[i - 3];
}
cout << d[n] << '\n';
}
return 0;
}
'알고리즘' 카테고리의 다른 글
C++ 1차원, 2차원 배열 초기화 방법 (fill) (2) | 2023.01.31 |
---|---|
6064_카잉 달력 (0) | 2023.01.05 |
1748_수 이어 쓰기 1 (0) | 2023.01.05 |
14500_테트로미노 (2) | 2023.01.04 |
1107_리모컨 (0) | 2023.01.04 |