티스토리 뷰

반응형

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

 

11727번: 2×n 타일링 2

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

www.acmicpc.net


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 다이나믹 프로그래밍

 


 

⊙ 문제 접근 과정

 

규칙을 찾고 점화식을 세우자!

 

N=1, 1개

N=2, 3개

N=3, 5개

N=4, 11개

N=5, 21개

 

점화식 = (N-2)*2 + (N-1)

 


 

⊙ 문제 풀이

 

arr= [0,1,3]
for i in range(3,1001):
    arr.append(arr[i-2]*2+arr[i-1])

N=int(input())
print(arr[N]%10007)

⊙ 결과

 


⊙ 마무리

 

 

DP를 만나면 1부터 규칙을 찾을 때까지 직접 대입해보자

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함