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 |