반응형
백준 DP 문제입니다.
1,2,3 더하기가 시리즈처럼 꽤 있더라고요 문제 풀이는 대부분 비슷합니다.
점화식 : dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
import java.io.*;
import java.util.*;
public class Main {
static Long[] dp;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
dp[1] = 1L;
dp[2] = 2L;
dp[3] = 4L;
for (int i = 4; i <= 1000000; i++) {
dp[i] = (dp[i-1] + dp[i-2] + dp[i-3]) % 1000000009;
}
for (int i = 0; i < T; i++) {
int k = Integer.parseInt(br.readLine());
sb.append(dp[k]).append('\n');
}
System.out.println(sb);
}
}
반응형
'백준 > DP' 카테고리의 다른 글
백준 11722 자바 (0) | 2022.09.11 |
---|---|
백준 2748 자바 (0) | 2022.09.10 |