
문제
https://www.acmicpc.net/problem/2133
2133호: 타일 채우기
3×N 벽이 2×1 및 1×2 타일로 채워지는 경우의 수를 구해 봅시다.
www.acmicpc.net
3×N 벽이 2×1 및 1×2 타일로 채워지는 경우의 수를 구해 봅시다.
입력
첫 번째 줄은 N(1 ≤ N ≤ 30)을 제공합니다.
인쇄
첫 번째 줄에 사례 수를 인쇄합니다.
암호
import sys
input=sys.stdin.readline
n=int(input())
dp=(0 for _ in range(31))
dp(2)=3
for i in range(4,n+1,2):
dp(i)=3*dp(i-2)+(sum(dp(:i-2))+1)*2
print(dp(n))
문제 해결
(알고리즘 문제) 백준 2133 – 타일 채우기
https://www.acmicpc.net/problem/2133 No. 2133: 타일 채우기 문제 3×N 벽이 2×1 및 1×2 타일로 채워지는 경우의 수를 구하십시오. N(1 ≤ N ≤ 30)은 첫 번째 입력 라인에 제공됩니다. 출력 첫 줄의 경우 수
kosaf04pyh.tistory.com
이 솔루션을 본 후 재귀 공식을 설정하고 DP에서 해결했습니다. (솔루션 참조: https://kosaf04pyh.236)

F(N) = ( F(N – 2) * 3 ) + ( F(N – 4) * 2 ) + ( F(N – 6) * 2) + ( F(N – 8) * 2 ) + . .. + ( 에프(0) * 2 )
