본문 바로가기
코딩 테스트/다이나믹 프로그래밍

바닥 공사

by hazel_ 2021. 2. 21.

p. 223

 

n=int(input())

d=[0]*1001

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

print(d[n])

 

 
 

i-1칸을 채우는 방법 : 2x1타일 사용하기

 

   
   

i-2칸을 채우는 방법 : 1x2타일 사용하기, 2x2타일 사용하기, 2x1타일 사용하기 (i-1방식이 2개 있는 것과 같음 -> 중복))

 

점화식

d[i]= d[i-1] * 1 + d[i-2] * 2

'코딩 테스트 > 다이나믹 프로그래밍' 카테고리의 다른 글

정수 삼각형  (0) 2021.02.22
금광  (0) 2021.02.22
효율적인 화폐 구성  (0) 2021.02.21
개미 전사  (0) 2021.02.21
1로 만들기  (0) 2021.02.21

댓글