[파이썬] 백준 11726, 11727 : 2xn 타일링, 2xn타일링 2 (실버3)
11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net
11727번: 2×n 타일링 2
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.
www.acmicpc.net
문제
풀이
방향성 생각
계단 오르기 문제와 똑같다.
ㅣ1칸, =,ㅁ 두칸이라교 생각하면 된다
2xn 타일링 문제에서는 두 칸을 오르는 방법이 한가지, 2xn 타일링 2 문제에서는 두 칸을 오르는 방법이 두가지이다.
전체코드
2xn 타일링
n = int(input())
temp = {}
temp[0],temp[1],temp[2] = 1,1,2
for i in range(2,n+1):
temp[i] = temp[i-1] + temp[i-2]
print(temp[n]%10007)
2xn 타일링 2
n = int(input())
temp = {}
temp[0],temp[1],temp[2] = 1,1,3
for i in range(3,n+1):
temp[i] = temp[i-1] + 2*temp[i-2]
print(temp[n]%10007)
'Algorithm > Dynamic Programming' 카테고리의 다른 글
[파이썬] 백준 1149 : RGB거리 (실버1) (0) | 2023.07.20 |
---|---|
[파이썬] 백준 1562: 계단 수 (골드1) (0) | 2023.07.18 |
[파이썬] 프로그래머스 : 땅따먹기 (Lv.2) (0) | 2023.07.08 |
[파이썬] 백준 1003 : 피보나치 함수 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 9095 : 1, 2, 3 더하기제목 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 9461 : 파도반 수열 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 1932 : 정수 삼각형 (0) | 2023.05.24 |
댓글