반응형
문제 링크 : 백준 11727 2xn 타일링 2
문제
2xn 직사각형을 2x1과 2x2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
- 예시
- 입력 : 2 / 출력 : 3
- 입력 : 8 / 출력 : 171
- 입력 : 12 / 출력 2731
풀이
직접 다 그려보면서 점화식을 찾았다. 점화식은 f(n) = (f(n-1) + f(n-2) * 2)
코드
#include <iostream>
#include <algorithm>
using namespace std;
#define MAX 1000
int cache[MAX];
int main() {
int n;
cin >> n;
cache[1] = 1;
cache[0] = 1;
for(int i = 2; i <= n; i++) {
cache[i] = (cache[i-1] + cache[i-2] * 2) % 10007;
}
cout << cache[n] << endl;
return 0;
}
반응형
'알고리즘 > 알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 완주하지 못한 선수 Python (0) | 2020.03.16 |
---|---|
[백준 10844] 쉬운 계단 수 C++ (0) | 2020.01.19 |
[백준 9095] 1, 2, 3 더하기 C++ (0) | 2020.01.15 |
[백준 11726] 2xn 타일링 c++ (0) | 2020.01.08 |
[백준 1463] 1로 만들기 C++ (0) | 2020.01.05 |