문제
https://www.acmicpc.net/problem/11727
11727번: 2×n 타일링 2
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.
www.acmicpc.net
풀이
2 x n 타일링 문제와 거의 유사하다. (풀이 링크 : https://whiporithm.tistory.com/6 )
차이점이라고는 2 * 2 타일이 하나 더 들어온 것.
따라서 = 타일이 ㅁ 타일이 될 수 있다. 그렇기에 경우의 수를 2배로 설정해주면 답이 나온다.
코드
n = int(input())
d = [0] * 1001
d[1] = 1
d[2] = 3
for i in range(3, 1001):
d[i] = (d[i-1] + d[i-2]*2) % 10007
print(d[n])
'백준' 카테고리의 다른 글
11055 - 가장 큰 증가하는 부분 수열 (0) | 2023.06.05 |
---|---|
11053 - 가장 긴 증가하는 부분 수열 (0) | 2023.06.04 |
11726 - 2 x n 타일링 (0) | 2023.06.04 |
1463 - 1로 만들기 (0) | 2023.06.04 |
2839 - 설탕배달 (0) | 2023.06.04 |