結果

問題 No.533 Mysterious Stairs
コンテスト
ユーザー kurimupy
提出日時 2020-06-18 12:31:07
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 155 ms / 5,000 ms
コード長 396 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 160 ms
コンパイル使用メモリ 85,504 KB
実行使用メモリ 167,424 KB
最終ジャッジ日時 2026-03-24 20:56:51
合計ジャッジ時間 5,991 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

# 基本dp
N = int(input())
dp = [[0, 0, 0, 0] for i in range(10**6+4)]
# dp[X][k]=X段目に最後にk回登って行く方法
dp[0][0]=1
mod = 10**9 + 7
for i in range(1, N+1):
    dp[i][1] = (dp[i-1][0]+dp[i-1][2]+dp[i-1][3]) % mod
    dp[i][2] = (dp[i-2][0]+dp[i-2][1]+dp[i-2][3]) % mod
    dp[i][3] = (dp[i-3][0]+dp[i-3][1]+dp[i-3][2]) % mod
ans = dp[N][1]+dp[N][2]+dp[N][3]
print(ans % mod)
0