✏️ Algorithm/알고리즘 풀이

백준 11726번 2xn 타일링 - C++

미미누 2022. 2. 16. 22:33

[문제]

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

 

11726번: 2×n 타일링

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

www.acmicpc.net

 

[풀이]

다이나믹 프로그래밍(DP)

 

[코드]

#include <iostream>
using namespace std;

int d[10005];
int mod = 10007;

int main(void) {
    ios::sync_with_stdio(0);
    cin.tie(0);
     
    int n;
    cin >> n;
    d[1] = 1;
    d[2] = 2;
    for(int i=3; i<=n; i++) d[i] = (d[i-1] + d[i-2])%mod;
    cout << d[n];
}