250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 토익문법정리
- BOJ
- 자바스크립트
- 주어
- 토익문법노트
- 다이나믹프로그래밍
- TOEIC
- 수리능력
- TOEIC Vocabulary
- NCS수리자료해석
- 토익시험준비
- 문제해결능력
- 공기업공부
- 영단어암기
- 영문법
- 브루트포스
- 파이썬
- 너비우선탐색
- 토익단어
- 알고리즘
- 데이터베이스
- TOEIC문법
- 영어문장
- 영단어
- sqld
- 자료해석
- dfs
- BFS
- 토익 영단어
- 매일매일NCS
Archives
- Today
- Total
하나씩 알아가기
[BOJ_11727] 2xn 타일링 2 본문
728x90
반응형
점화식을 찾아봅시다.
그림을 보고 입력받은 수가 n이라 할 때, n-2번째 까지의 경우는 두 가지이고 n-1번째 까지의 경우는 한 가지입니다.
좀 더 자세히 말하면 n-2번째까지 타일이 채워진 경우에서 너비가 2인 블럭으로 채우면 n번째 항까지 채운 경우가 되고
n-1번째 까지 타일이 채워진 경우에서 너비가 1인 블럭으로 채우면 n번째 항까지 채운 경우가 되는 것입니다.
그래서
f(n) = 2 * f(n-2) + f(n-1)
이렇게 점화식을 구할 수 있습니다.
n = int(input())
dp = [0 for _ in range(1001)]
dp[0] = 0
dp[1] = 1
dp[2] = 3
for i in range(3, n+1):
dp[i] = 2 * dp[i-2] + dp[i-1]
print(dp[n] % 10007)
728x90
반응형
'알고리즘' 카테고리의 다른 글
[BOJ_2309] 일곱 난쟁이 (0) | 2021.01.24 |
---|---|
[BOJ_15990] 1, 2, 3 더하기 5 (0) | 2021.01.23 |
[BOJ_9095] 1, 2, 3 더하기 (0) | 2021.01.22 |
[BOJ_11726] 2xn 타일링 (0) | 2021.01.21 |
[BOJ_1463] 1로 만들기 (0) | 2021.01.21 |