코딩테스트/백준

백준 11727 : 2*N 타일링 2 _자바 Java

플래시🦥 2023. 1. 13.
반응형

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

 

11727번: 2×n 타일링 2

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

www.acmicpc.net


1. 규칙찾기

 

N 1 2 3 4
dp[N] 1 3 5 11

dp[N] = dp[N-2]*2+dp[N-1]


import java.io.*;
import java.util.*;

public class Main {
	
	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		int dp[] = new int[10001];
		
		dp[0]=0;
		dp[1]=1;
		dp[2]=3;
		
		for(int i=3;i<=n;i++) {
			dp[i]=(dp[i-2]*2+dp[i-1])%10007;
		}
		System.out.println(dp[n]);
		
		 
	}
	
}
728x90
반응형

댓글