728x90
import java.util.Scanner;
public class BJ1003 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
// 미리 선언
int[][] dp = new int[41][2];
// 초기 값 설정
dp[0][0] = 1; // f(0)일 때 0의 출력 횟수는 1
dp[0][1] = 0; // f(0)일 때 1의 출력 횟수는 0
dp[1][0] = 0; // f(1)일 때 0의 출력 횟수는 0
dp[1][1] = 1; // f(1)일 때 1의 출력 횟수는 1
// 동적 계획법으로 미리 계산
for (int i = 2; i <= 40; i++) {
dp[i][0] = dp[i-1][0] + dp[i-2][0]; // f(i)에서 0의 출력 횟수
dp[i][1] = dp[i-1][1] + dp[i-2][1]; // f(i)에서 1의 출력 횟수
}
for (int t = 0; t < T; t++) {
int N = sc.nextInt();
System.out.println(dp[N][0] + " " + dp[N][1]);
}
}
}
동적계획법
728x90
'백준' 카테고리의 다른 글
백준 2579 - Java (0) | 2024.10.16 |
---|---|
백준 9375 - Java (0) | 2024.10.16 |
백준 17219 - Java (0) | 2024.10.15 |
백준 11399 - Java (0) | 2024.10.14 |
백준 11047 - Java (0) | 2024.10.14 |