Coding Test/BaekJoon_Python
백준 11727 <2Xn 타일링 2> Python
JunOnJuly
2023. 11. 2. 19:59
728x90
https://www.acmicpc.net/problem/11727
11727번: 2×n 타일링 2
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.
www.acmicpc.net
https://dev-diary-0717.tistory.com/26
BaekJoon 11726 <2Xn 타일링>
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방
dev-diary-0717.tistory.com
2xn 타일링 문제의 연장선상에 있는 문제라고 볼 수 있습니다.
def solution(n):
memo = [0 for _ in range(1001)]
memo[1] = 1
memo[2] = 3
i = 3
while True:
# 종료조건
if i >= n+1:
return memo[n] % 10007
# 타일링 1 의 사고방식에서 파생
# 마지막이 = 인 경우는 ㅁ 인 경우의 수와 수가 같으므로
# 두 배 해서 더해주면 끝
# 점화식
memo[i] = memo[i-1] + memo[i-2]*2
i += 1
n = int(input())
print(solution(n))
728x90