728x90
반응형
https://www.acmicpc.net/problem/15988
15988번: 1, 2, 3 더하기 3
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.
www.acmicpc.net
#include <iostream>
using namespace std;
int main() {
int n, num;
long long dp[1000001] = {0, 1, 2, 4};
for(int i = 4; i <= 1000001; i++){
dp[i] = ((dp[i - 1] + dp[i - 2])% 1000000009 + dp[i - 3]) % 1000000009;
}
cin >> n;
for(int i = 0; i < n; i++){
cin >> num;
cout << dp[num] << endl;
}
return 0;
}
점화식: dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 24523번 내 뒤에 나와 다른 수 (C++) (0) | 2022.03.03 |
---|---|
[BOJ] 2493번 탑 (C++) (0) | 2022.03.03 |
[BOJ] 10868번 최솟값 (C++) (0) | 2022.02.22 |
[BOJ] 20115번 에너지 드링크 (C++) (0) | 2022.02.21 |
[BOJ] 7983번 내일 할거야 (C++) (0) | 2022.02.20 |