본문 바로가기
알고리즘/dynamic programming

[백준][Python] 11726번 2×n 타일링

by 임짠짠 2022. 5. 11.
반응형
 

11726번: 2×n 타일링

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

www.acmicpc.net

 

코드

n = int(input())
dp = [0]*(n+2)
dp[1] = 1
dp[2] = 2

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

print(dp[n]%10007)

 

설명

규칙을 찾으려고 n이 5일 때까지 경우의 수를 구해봤다.

dp[1] = 1      
dp[2] = 2  
dp[3] = 3  
dp[4] = 5  
dp[5] = 8

구해놓고 보니 dp[i] = dp[i-2]+dp[i-1] 이라는 규칙이 보였다.

 

반응형

댓글