結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2015-12-07 10:02:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 63 ms / 1,000 ms |
コード長 | 580 bytes |
コンパイル時間 | 414 ms |
コンパイル使用メモリ | 82,228 KB |
実行使用メモリ | 74,368 KB |
最終ジャッジ日時 | 2024-09-14 18:15:41 |
合計ジャッジ時間 | 2,095 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
# coding:utf-8 p = 1000000000+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+1): # print(i,dp[i-1],pa_point[i-2],'ans:',dp[i-1]+pa_point[i-2]%p) # print(i,pa_point) dp[i] = (dp[i-1]+pa_point[i-2])%p if pa_point[i]>0 and i >2: 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(pa_point) # print(dpoint) # print(dp) # print(pa_point) print(dp[N-1]%p)