Stay Hungry Stay Foolish

BOJ 코딩테스트/Silver

BOJ 11726번 : 2×n 타일링 (C++/Silver 3)

dev스카이 2022. 9. 26. 22:59
 

11726번: 2×n 타일링

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

www.acmicpc.net

문제

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

입력

첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)

 

출력

첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.


예제 입력

9

예제 출력

55

풀이

Solution

#include <iostream>
using namespace std;

int N, t[1000];
int DP(int n){
    t[1] = 1;
    t[2] = 2;
    for(int i=3; i<=n; i++)
        t[i] = (t[i-1] + t[i-2])%10007;
    return t[n];
}
int main() {
    cin >> N;
    cout << DP(N);

    return 0;
}