문제
https://www.acmicpc.net/problem/15988
15988번: 1, 2, 3 더하기 3
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.
www.acmicpc.net
코드
import java.io.*;
import java.util.*;
class Main {
public static void main(String args[]) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
long dp [] = new long [1000001];
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for(int i=4;i<=1000000;i++) {
dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
dp[i] = dp[i] % 1000000009;
}
for(int t=0;t<T;t++) {
int n = Integer.parseInt(br.readLine());
sb.append(dp[n]).append("\n");
}
System.out.print(sb);
}
}