Skip to content

Commit 4403fe8

Browse files
committed
[Silver III] Title: 2×n 타일링 2, Time: 180 ms, Memory: 17848 KB -BaekjoonHub
1 parent cbcdc2a commit 4403fe8

2 files changed

Lines changed: 60 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import java.util.Scanner;
2+
3+
class Main {
4+
5+
public static void main(String[] args) {
6+
Scanner sc = new Scanner(System.in);
7+
8+
int N = sc.nextInt();
9+
long[] dbArr = new long[N+3];
10+
dbArr[1] = 1;
11+
dbArr[2] = 3;
12+
13+
System.out.println(dp(N, dbArr));
14+
15+
}
16+
17+
private static Long dp(int n, long[] arr) {
18+
if (n < 3) {
19+
return arr[n];
20+
}
21+
if (arr[n] == 0) {
22+
arr[n] = ((dp(n - 2, arr)* 2) + dp(n - 1, arr)) % 10007;
23+
}
24+
return arr[n];
25+
}
26+
27+
28+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# [Silver III] 2×n 타일링 2 - 11727
2+
3+
[문제 링크](https://www.acmicpc.net/problem/11727)
4+
5+
### 성능 요약
6+
7+
메모리: 17848 KB, 시간: 180 ms
8+
9+
### 분류
10+
11+
다이나믹 프로그래밍
12+
13+
### 제출 일자
14+
15+
2025년 9월 6일 18:04:10
16+
17+
### 문제 설명
18+
19+
<p>2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.</p>
20+
21+
<p>아래 그림은 2×17 직사각형을 채운 한가지 예이다.</p>
22+
23+
<p style="text-align: center;"><img alt="" src="" style="height:59px; width:380px"></p>
24+
25+
### 입력
26+
27+
<p>첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)</p>
28+
29+
### 출력
30+
31+
<p>첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.</p>
32+

0 commit comments

Comments
 (0)