728x90
9095번: 1, 2, 3 더하기
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.
www.acmicpc.net
#include <stdio.h>
int T, N;
int dp[12];
int solve(int num) {
if (num == 0) {
return 1;
}
if (num < 0) {
return 0;
}
int &ret = dp[num];
if (ret != 0) {
return ret;
}
return ret = solve(num - 1) + solve(num - 2) + solve(num - 3);
}
int main()
{
//freopen("input.txt", "r", stdin);
scanf("%d", &T);
for (int tc = 0; tc < T; tc++) {
scanf("%d", &N);
//int ret = solve(0, 1) + solve(0, 2) + solve(0, 3);
printf("%d\n", solve(N));
}
return 0;
}
728x90
반응형
'IT 정보 > 알고리즘(백준, BOJ)' 카테고리의 다른 글
[백준-BOJ] 9461 (0) | 2021.06.07 |
---|---|
[백준-BOJ] 9084 (0) | 2021.05.10 |
[백준-BOJ] 9012 (0) | 2021.05.10 |
[백준-BOJ] 8895 (0) | 2021.04.07 |
[백준-BOJ] 7578 (0) | 2021.04.07 |