코딩테스트

[백준/파이썬] 11727 2xn 타일링2

Sun0727 2022. 6. 13. 12:56

#문제링크

https://www.acmicpc.net/problem/11727

 

11727번: 2×n 타일링 2

2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다.

www.acmicpc.net

#나의풀이

import sys

if __name__ == '__main__':
    n = int(sys.stdin.readline())
    dp = [0] * 1001
    dp[1] = 1
    dp[2] = 3

    for i in range(3, n+1):
        dp[i] = (dp[i-2] * 2) + dp[i-1]
    print(dp[n] % 10007)

#해설

11726으로 짝궁인 문제로 똑같이 dp문제이다.

3번째를 구해보면 기존 2번째에서 +1개씩 붙은걸 알수있고 1번째에서 2개가 사용된걸 알수있다.

#참고

https://cijbest.tistory.com/21

 

[백준 11727 : PYTHON] 2xn 타일링 2

문제 풀기 : 11727번 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이

cijbest.tistory.com

이 블록그 작성자분이 그림까지 직접 그리셔서 설명까지 해주셨다. 이해가 안가시는분은 그림보면서 이해하시는게 빠를꺼같다.