[백준] 11727. 2xn 타일링 2

채연·2023년 2월 26일
0

baekjoon

목록 보기
18/26

문제

문제 링크

2xn 타일링 1 문제와 비슷하다.

문제 설명

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

아래 그림은 2×17 직사각형을 채운 한가지 예이다.

입력

첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)

출력

첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.

접근

dp 문제이다.

-> 하나씩 그려보면 규칙을 나온다!

결론

두 번째 전 숫자에 2를 곱하고, 첫 번째 전 숫자 더하면 내가 구해야 할 값이 나온다.
코딩을 해주면 끝!

코드

n = int(input())
arr = [0, 1, 3]

for i in range(3, n+1):
    arr.append(arr[i-1] + 2* arr[i-2])
    
print(arr[n] % 10007)
profile
Hello Velog

0개의 댓글