JW 학생

 

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

 

11726번: 2×n 타일링

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

www.acmicpc.net

#include "bits/stdc++.h"
using namespace std;
// 2*n 타일링
int dp[1001];
int recursive(int n) {
    if (n == 1 || n == 2) return n;
    if (dp[n] != 0) {
        return dp[n];
    }
    dp[n] = recursive(n-1)%10007 + recursive(n-2)%10007;
    return dp[n];
}

int main() {
    int n;
    cin >> n;
    printf("%d", recursive(n)%10007);
}

+ Recent posts