File tree Expand file tree Collapse file tree
백준/Silver/11727. 2×n 타일링 2 Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ }
Original file line number Diff line number Diff line change 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+
You can’t perform that action at this time.
0 commit comments