-
백준 2133 - 타일 채우기 (Python)BOJ PS/Python 2023. 2. 16. 16:18
https://acmicpc.net/problem/2133
2133번: 타일 채우기
3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.
www.acmicpc.net
점화식이 잘 안 떠올라서 성가셨다.
n = int(input()) dp = [0 for _ in range(31)] dp[2] = 3 for i in range(4,n+1,2) : # 어차피 홀수는 만들 수가 없다. if i%2 == 0 : # 핵심은 2*3 이상의 블록, 즉 4*3, 6*3 등의 블록은 두 개만 만들 수 있다는 것. dp[i] = dp[i-2] * 3 + sum(dp[:i-2]) * 2 + 2 print(dp[n])
'BOJ PS > Python' 카테고리의 다른 글
백준 8980 - 택배 (Python) (0) 2023.02.17 백준 2146 - 다리 만들기 (Python) (0) 2023.02.17 백준 2812 - 크게 만들기 (Python) (0) 2023.02.16 백준 1261 - 알고스팟 (Python) (0) 2023.02.14 백준 10800 - 컬러볼 (Python) (0) 2023.02.13