문제

2xn 타일링 백준 11726번


리뷰

피보나치 수열과 비슷한 문제여서, 점화식은 만들었는데 계속 틀렸다.

문제 해설 포스팅을 구글링 해보니, 계속 숫자를 더하다보면 자료형의 크기를 넘을 수 있다는 힌트를 발견했다.

그래서 배열에 숫자를 저장하기 전에 mod 연산을 해줬다.

왜냐하면 결국 답은 mod 연산 결과이기 때문이다.


코드

#include <stdio.h>
using namespace std;

// 2xn 타일링 (백준 11726) 

int arr[1001]; 

int main(void){

    int n = 0;
    int i = 0;

    //freopen("input.txt", "rt", stdin);

    scanf("%d", &n);

    arr[1] = 1;
    arr[2] = 2;

    for(i = 3; i <= n; i++){

        arr[i] = (arr[i-1] + arr[i-2]) % 10007;

    }

    printf("%d", arr[n]);

    return 0;
}

참고 포스팅

728x90

'알고리즘 > 백준' 카테고리의 다른 글

카드 구매하기 백준 11052  (0) 2020.08.13
2xn 타일링2 백준 11727번  (0) 2020.08.12
분산처리 백준 1009번 c++  (0) 2020.08.12
스택 백준 10828번  (0) 2020.08.12
괄호 백준 2012  (0) 2019.07.21

+ Recent posts