문제
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×17 직사각형을 채운 한가지 예이다.
입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
예제 입력 1
2 |
예제 출력 1
3 |
예제 입력 2
8 |
예제 출력 2
171 |
예제 입력 3
12 |
예제 출력 3
2731 |
더보기
Solution
#include<stdio.h>
int main(void)
{
int n, rectangle[1001]={0,1,3,0, };
scanf("%d", &n);
for(int i=3;i<=n;i++)
rectangle[i]=(rectangle[i-1]+2*rectangle[i-2])%10007;
printf("%d\n", rectangle[n]);
return 0;
}
728x90
'백준 알고리즘' 카테고리의 다른 글
<백준 알고리즘> 10816번: 숫자 카드 2 (0) | 2021.02.20 |
---|---|
<백준 알고리즘> 2979번: 트럭 주차 (0) | 2021.02.14 |
<백준 알고리즘> 2156번: 포도주 시식 (0) | 2021.02.14 |
<백준 알고리즘> 2193번: 이친수 (0) | 2021.02.13 |
<백준 알고리즘> 1747번: 소수&팰린드롬 (0) | 2021.02.09 |