[python] 2×nタイル2
1187 ワード
白駿11727号です。
2×n矩形は1×2, 2×第1課×2つのタイルで充填された数を求めるプログラムを作成してください.
下図2×17長方形の一例を塗りつぶします.
2×nタイル題と同じように、1つの条件しか追加されていません.
今回は2 x 1タイル 1 x 2タイルが2マスを占めています
上記条件において、 2 x 2タイルは2つの格子 を占めている.
この条件は付加されている.
やはり絵で表すと.
上記の条件の下で
これで2 x 2タイルが右側の場合の数が増えます.
この場合、残りの部分は
点火式は以下の通り.
dp[n] = dp[n-1] + dp[n-2]*2
問題の説明
2×n矩形は1×2, 2×第1課×2つのタイルで充填された数を求めるプログラムを作成してください.
下図2×17長方形の一例を塗りつぶします.
に答える
2×nタイル題と同じように、1つの条件しか追加されていません.
今回は
2×2
タイルで充填した場合の数を計算します.上記条件において、
この条件は付加されている.
やはり絵で表すと.
上記の条件の下で
これで2 x 2タイルが右側の場合の数が増えます.
この場合、残りの部分は
n-2
となる.点火式は以下の通り.
dp[n] = dp[n-1] + dp[n-2]*2
コミットコード
import sys
n = int(sys.stdin.readline())
dp = [1] * (n + 1)
result = 0
if n == 1:
result = 1
else:
for i in range(2, n + 1):
dp[i] = dp[i - 1] + dp[i - 2] * 2
result = dp[n] % 10007
print(result)
Reference
この問題について([python] 2×nタイル2), 我々は、より多くの情報をここで見つけました https://velog.io/@haremeat/python-2n-타일링-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol