본문 바로가기
공부/알고리즘

[알고리즘][백준] 17103번 골드바흐 파티션 - 파이썬(python) 풀이

by 무명오리 2024. 3. 5.

https://www.acmicpc.net/problem/11727

 

11727번: 2×n 타일링 2

2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.

www.acmicpc.net


1 = 1
2 = 3
3 = 5 = 2*1 + 3
4 = 11 = 2*3 + 5
5 = 21 = 2*5 + 11
8 = 171
12 = 2731

직접 그려보면서 위와 같은 규칙을 발견했다

 

import sys

n = int(sys.stdin.readline())

dp = [0] * 1001
dp[1] = 1
dp[2] = 3

for i in range(3, n+1):
    dp[i] = dp[i-1] + 2*dp[i-2]

print(dp[n]%10007)