문제
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
예제 입력
9
예제 출력
55
풀이
Solution
#include <iostream>
using namespace std;
int N, t[1000];
int DP(int n){
t[1] = 1;
t[2] = 2;
for(int i=3; i<=n; i++)
t[i] = (t[i-1] + t[i-2])%10007;
return t[n];
}
int main() {
cin >> N;
cout << DP(N);
return 0;
}
'BOJ 코딩테스트 > Silver' 카테고리의 다른 글
BOJ 4963번 : 섬의 개수 (C++/Silver 2) (1) | 2022.10.04 |
---|---|
BOJ 11724번 : 연결 요소의 개수 (C++/Silver 2) (0) | 2022.09.29 |
BOJ 9095번 : 1, 2, 3 더하기 (C++/Silver 3) (0) | 2022.09.23 |
BOJ 10816번 : 숫자 카드 2 (C++, Python/Silver 4) (0) | 2022.09.18 |
BOJ 1654번 : 랜선 자르기 (C++/Silver 2) (0) | 2022.09.18 |