C언어

백준 11726 2*n 타일링 ( 시간 지나고 또 품)

mcdn 2021. 1. 23. 16:54
반응형

https://www.acmicpc.net/problem/11726

 

11726번: 2×n 타일링

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.

www.acmicpc.net

예제 입력 1 복사

2

예제 출력 1 복사

2

예제 입력 2 복사

9

예제 출력 2 복사

55

#include <iostream>
using namespace std;

int bucket[1000];
int ret;

int		f(int n)
{
	if (n == 0)
		return (0);
	if (bucket[n])
		return bucket[n];
	bucket[n] = (f(n - 1)%10007 + f(n - 2)%10007) % 10007;
	return bucket[n];
}

int main(void)
{
	int n;
	cin >> n;
	bucket[1] = 1;
	bucket[2] = 2;
	ret = f(n);
	cout << ret % 10007;
}

 

시간 지나고 또 풀었다. 이번에는 한번에 피보나치로 품 ~ 

반응형