문제
리뷰
피보나치 수열과 비슷한 문제여서, 점화식은 만들었는데 계속 틀렸다.
문제 해설 포스팅을 구글링 해보니, 계속 숫자를 더하다보면 자료형의 크기를 넘을 수 있다는 힌트를 발견했다.
그래서 배열에 숫자를 저장하기 전에 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 |