2021.04.19

2×n 타일링 2

2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.


/**
* n = 1     1     |
*     2     3     || , =, 
*     3     5     |||, =|, |=, |, |
*     4     11    ||||, ||=, |=|, =||, ==, ||, ||, ||, ㅁㅁ, =, =
*
* d[n] = d[n-2] * 2 + d[n-1]
*/

n = int(input())

d = [1, 3, 5]

for i in range(3, n):
  d.append(d[i-2] * 2 + d[i-1])

print(d[n-1] % 10007)



Discussion and feedback