코딩테스트/dp

[dp] 백준 11726번 2×n 타일링 (java)

양쏘쏘 2021. 1. 31. 18:00
728x90
반응형

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

 

11726번: 2×n 타일링

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

www.acmicpc.net

dp이용해서 풀었습니다. dp 구할 때 10007로 나눠주시는 것만 유의하면 될 것 같습니다. 

import java.util.Scanner;

public class p11726 {
	static int[] dp;
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		dp = new int[n+1];
		dp[0] = 1;
		dp[1] = 1;
        
		System.out.println(tile(n));
	}
	static int tile(int n) {
		if(dp[n]>0)
			return dp[n];
		else {
			dp[n] = (tile(n-1)+tile(n-2))%10007;
			return dp[n];
		}
	}
}

 

728x90

'코딩테스트 > dp' 카테고리의 다른 글

[dp] 백준 11727번 2×n 타일링2 (java)  (0) 2021.01.31