(DP)白駿1904号01タイル

2419 ワード

n = int(input())

arr = [0,1,2] + ([0] * (n-2))

for i in range(3, n+1):
    arr[i] = (arr[i-1] + arr[i-2]) % 15746

print(arr[n])
これは簡単なアルゴリズムです.これは典型的なDPアルゴリズムであり,フィボナッチ数列と同じである.ただし、結果値に15746のみを割り当てるのではなく、各配列の値を結果値に割り当てるべきであり、メモリオーバーフローが発生しないことに注意してください.