結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2015-12-07 10:39:51 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 66 ms / 1,000 ms |
コード長 | 413 bytes |
コンパイル時間 | 342 ms |
コンパイル使用メモリ | 82,188 KB |
実行使用メモリ | 73,856 KB |
最終ジャッジ日時 | 2024-09-14 18:16:15 |
合計ジャッジ時間 | 1,826 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
# coding:utf-8 p = 10**9+7 N = int(input()) dp = [0]*(N+10) dp[0] = 1 dp[1] = 2 dp[2] = 2 pa_point = [0]*(N+10) pa_point[1] = 1 pa_point[2] = 1 pa_point[3] = 1 pa_point[4] = 2 pa_point[5] = 1 for i in range(3, N): # パから2つめで2分岐する dp[i] = (dp[i-1]+pa_point[i-2])%p pa_point[i+2] = (pa_point[i+2]+pa_point[i])%p pa_point[i+3] = (pa_point[i+3]+pa_point[i])%p print(dp[N-1]%p)