Study & Project ✏️/알고리즘 📋

백준[JAVA] 11726.2×n 타일링 - 자바

JM 2022. 11. 5. 13:36
반응형

📖 문제

📃 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    static Integer[] dp = new Integer[10008];
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {
        dp[0] = 0;
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 3;
        // dp[n] = dp[n-1] + dp[n-2]
        int N = Integer.parseInt(br.readLine());
        System.out.println(DP(N));
    }

    private static Integer DP(int N) throws IOException {
        if (dp[N] == null) {
            dp[N] = DP(N - 1) + DP(N - 2);
        }
        return (dp[N] % 10007);
    }
}

 

🔗 링크

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

 

11726번: 2×n 타일링

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

www.acmicpc.net