Notice
Recent Posts
Recent Comments
Link
«   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
Archives
Today
Total
관리 메뉴

LoCeL

[BOJ 11727] 2 x n 타일링 2 본문

PS

[BOJ 11727] 2 x n 타일링 2

LoCeL 2020. 8. 5. 04:27

문제는 여기에서 확인할 수 있다.


전형적인 Dynamic Programming 문제이다.

D[i] = {2 x i 직사각형을 타일로 채우는 방법의 수}라 정의하자.

그럼 약간의 관찰에 의해 $D[i] = D[i-1] + 2D[i-2]$가 성립한다.

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

'PS' 카테고리의 다른 글

[BOJ 2759] 팬케익 뒤집기  (0) 2021.06.27
[BOJ 12865] 평범한 배낭  (0) 2020.08.13
[BOJ 11724] 연결 요소의 개수  (0) 2020.08.05
[BOJ 8986] 전봇대  (0) 2020.08.04
[BOJ 17842] 버스노선  (0) 2020.08.04
Comments