리그캣의 개발놀이터

백준 알고리즘 11726번 - 2 X n 타일링 본문

알고리즘/백준

백준 알고리즘 11726번 - 2 X n 타일링

리그캣 2018. 2. 9. 19:53

2 X N 타일링

문제


2 x n 크기의 직사각형을 1x2, 2x1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.

아래 그림은 2x5 크기의 직사각형을 채운 한 가지 방법의 예이다.


입력


첫줄에 자연수 N이 주어진다.


출력


첫째 줄에 연산을 하는 횟수의 최소값을 출력한다.

소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdio>
#include <iostream>
 
#define MAX_COUNT 10001
 
int main() {
    int d[MAX_COUNT],N;
    scanf_s("%d"&N);
 
    for (int i = 1; i <= N; i++) {
        if (i == 1 || i == 2) {
            d[i] = i;
        }
        else{
            d[i] = d[i - 2+ d[i - 1];
        }
    }
    
    printf("%d\n", d[N]);
    return 0;
}
cs


앙.. 기모띠.. 이거 틀렷다고 뜬다.. 왜그러지..


알고보니 %10007을 안햇다..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <cstdio>
#include <iostream>
 
#define MAX_COUNT 10001
 
int main() {
    int d[MAX_COUNT],N;
    scanf_s("%d"&N);
 
    for (int i = 1; i <= N; i++) {
        if (i == 1 || i == 2) {
            d[i] = i;
        }
        else{
            d[i] = (d[i - 2+ d[i - 1])%10007;
        }
    }
    
    printf("%d\n", d[N]);
    return 0;
}
cs


Comments