티스토리 뷰

알고리즘

[백준 11726] 2×n 타일링

네로렌 2019. 3. 4. 00:01

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




다음과 같이 두개의 기본 도형이 존재한다.

N번째 도형(2xN)을 만들 때 N-2번째 도형과 N-1번째 도형에 기본도형을 덧붙여서 만들 수 있다. 중복을 피하기 위해 한쪽 방향에만 계속하여 덧붙인다.

N-2번째 도형에는 2x2 기본도형을 오른쪽(왼쪽)에 붙이고 N-1째 도형에는 2x1 기본도형을 오른쪽(왼쪽)에 붙여서 만들 수 있다.

점화식 

arr[0] = 1

arr[1] = 2

arr[n] = arr[n-1] + arr[n-2]


C++ code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    int *arr = new int[n];
    arr[0= 1;
    arr[1= 2;
    for(int i = 2; i < n; i++){
        arr[i] = (arr[i-2+ arr[i-1]) % 10007;
    }
    cout << arr[n-1];
    delete[] arr;
    return 0;
}
cs


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함