https://www.acmicpc.net/problem/11727
11727번: 2×n 타일링 2
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.
www.acmicpc.net
JW
#include "bits/stdc++.h"
using namespace std;
// 2*n 타일링 2
int dp[1001];
int recursive(int n) {
if (n == 1) return 1;
if (n == 2) return 3;
if (dp[n] != 0) {
return dp[n];
}
dp[n] = recursive(n-1)%10007 + 2*recursive(n-2)%10007;
return dp[n];
}
int main() {
int n;
cin >> n;
printf("%d", recursive(n)%10007);
}
'정보올림피아드-KOI > BOJ' 카테고리의 다른 글
백준 숨바꼭질 4 (역추적) (0) | 2022.03.14 |
---|---|
백준 일곱 난쟁이 (0) | 2022.03.14 |
백준 꿀따기 21758번 (11점 ) (0) | 2022.03.11 |
백준 균형잡힌 세상 (0) | 2022.03.07 |
백준 소수 구하기 1929 (0) | 2022.03.07 |