https://www.acmicpc.net/problem/9095
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
점화식
D[N] = D[N-1] + D[N-2] + D[N-3]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <stdio.h>
int d[11];
int main() {
d[0] = 1;
for (int i=1; i<=10; i++) {
if (i-1 >= 0) {
d[i] += d[i-1];
}
if (i-2 >= 0) {
d[i] += d[i-2];
}
if (i-3 >= 0) {
d[i] += d[i-3];
}
}
int t;
scanf("%d",&t);
while (t--) {
int n;
scanf("%d",&n);
printf("%d\n",d[n]);
}
}
|
cs |
'다이나믹 프로그래밍' 카테고리의 다른 글
1, 2, 3 더하기 5 (0) | 2023.03.23 |
---|---|
카드 구매하기 2 (0) | 2023.03.22 |
카드 구매하기 (최대값) (0) | 2023.03.02 |
1로 만들기 (0) | 2023.03.02 |
다이나믹 프로그래밍 (0) | 2023.03.02 |