728x90

https://www.acmicpc.net/problem/11727

 

11727번: 2×n 타일링 2

2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.

www.acmicpc.net

 

 

 

풀이)

import java.util.Scanner;

public class Main_BJ_11727_2xn타일링2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] dp = new int[n];

        /*
        1 => 1
        2 => 3
        3 => 5
        4 => 11
         */

        dp[0] = 1;
        if(n>1)
            dp[1] = 3;

        for(int i=2; i<n; i++){
            dp[i] = (dp[i-1] + dp[i-2]*2) % 10007;
        }

        System.out.println(dp[n-1]);
    }//main
}

경우의 수를 잘 못세서,,, 규칙 못찾았다..

다시...풀어야징...

 

쉽게 생각하면, 경우의 수가 늘어날 때, 양 옆에 2x1타일이 붙는 것을 볼 수 있다.

검색해보면 친절하게 설명한 블로그가 있으니 참고하길 바란다.

728x90

'코테 > 백준' 카테고리의 다른 글

백준 11403 경로 찾기(JAVA)  (1) 2023.02.03
백준 9375 패션왕 신해빈(JAVA)  (0) 2023.02.02
백준 2178 미로 탐색(JAVA)  (0) 2023.01.31
백준 11866 요세푸스 문제0(JAVA)  (0) 2023.01.30
백준 1181 단어정렬(JAVA)  (0) 2023.01.29

+ Recent posts