728x90
문제
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×17 직사각형을 채운 한가지 예이다.
입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
풀이
2022.03.06 - [Algorithm/Baekjoon] - Baekjoon 11726 2×n 타일링 JAVA
2 x n 타일링에서 2*2타일이 하나 추가되는 형태이다.
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] dp = new int[n + 1];
dp[1] = 1;
if (n >= 2) {
dp[2] = 3;
for (int i = 3; i <= n; i++)
dp[i] = (dp[i - 1] + dp[i - 2] * 2) % 10007;
}
System.out.println(dp[n]);
}
}
728x90
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
Baekjoon 15474 鉛筆 (Pencils) JAVA (0) | 2022.04.15 |
---|---|
Baekjoon 1937 욕심쟁이 판다 JAVA (0) | 2022.04.15 |
Baekjoon 2156 포도주 시식 JAVA (0) | 2022.04.15 |
Baekjoon 15802 타노스 Python (0) | 2022.04.15 |
Baekjoon 1912 연속합 JAVA (0) | 2022.04.15 |
댓글