[白俊11727]2×nタイルpy



コア

  • n(n>2)第2の矩形は、(n−1)第2の矩形に2 X 1タイルを追加するのみであり、(n−2)第2の矩形に2 X 2タイルと1 X 2タイルを追加する.
    点火式はf(n)=f(n−1)+f(n−2)*2である.
  • ソースコード

    n = int(input())
    dp = [0]*(n+1)
    
    for i in range(1, n+1):
        if i == 1:
            dp[i] = 1
        elif i == 2:
            dp[i] = 3
        else:
            dp[i] = dp[i-1] + (dp[i-2]*2)
    
    print(dp[n] % 10007)