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)

'공부 > 알고리즘' 카테고리의 다른 글
[알고리즘][백준] 16194번 카드 구매하기 2 - 파이썬(python) 풀이 (0) | 2024.03.05 |
---|---|
[알고리즘][백준] 9095번 1, 2, 3 더하기 - 파이썬(python) 풀이 (0) | 2024.03.05 |
[알고리즘][백준] 11726번 2×n 타일링 - 파이썬(python) 풀이 (1) | 2024.03.05 |
[알고리즘][백준] 1463번 1로 만들기 - 파이썬(python) 풀이 (0) | 2024.03.04 |
[알고리즘][백준] 17103번 골드바흐 파티션 - 파이썬(python) 풀이 (0) | 2024.03.03 |