728x90
https://www.acmicpc.net/problem/11727
11727번: 2×n 타일링 2
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.
www.acmicpc.net
https://dev-diary-0717.tistory.com/26
BaekJoon 11726 <2Xn 타일링>
https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방
dev-diary-0717.tistory.com
2xn 타일링 문제의 연장선상에 있는 문제라고 볼 수 있습니다.
def solution(n):
memo = [0 for _ in range(1001)]
memo[1] = 1
memo[2] = 3
i = 3
while True:
# 종료조건
if i >= n+1:
return memo[n] % 10007
# 타일링 1 의 사고방식에서 파생
# 마지막이 = 인 경우는 ㅁ 인 경우의 수와 수가 같으므로
# 두 배 해서 더해주면 끝
# 점화식
memo[i] = memo[i-1] + memo[i-2]*2
i += 1
n = int(input())
print(solution(n))
728x90
'Coding Test > BaekJoon_Python' 카테고리의 다른 글
백준 11055 <가장 큰 증가하는 부분 수열> Python (0) | 2023.11.03 |
---|---|
백준 2193 <이친수> Python (1) | 2023.11.02 |
백준 1932 <정수 삼각형> Python (1) | 2023.11.01 |
백준 12852 <1로 만들기 2> Python (1) | 2023.11.01 |
백준 11726 <2Xn 타일링> Python (0) | 2023.10.31 |