結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2019-06-03 04:01:08 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 894 bytes |
コンパイル時間 | 322 ms |
コンパイル使用メモリ | 82,528 KB |
実行使用メモリ | 1,044,960 KB |
最終ジャッジ日時 | 2024-09-17 20:18:01 |
合計ジャッジ時間 | 4,657 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | MLE * 1 -- * 16 |
ソースコード
n = int(input())MOD = 10**9 + 7# dp[i][j][k][l] := 長さiで終わるときの通り数# j, k, lはケンかパーかを表すdp = [[[[0]*2 for _ in range(2)] for _ in range(2)] for i in range(n+1)]# 初期化dp[3][0][0][0] = 0dp[3][0][0][1] = 0dp[3][0][1][0] = 1dp[3][0][1][1] = 0dp[3][1][0][0] = 1dp[3][1][0][1] = 0dp[3][1][1][0] = 0dp[3][1][1][1] = 0for i in range(3, n):dp[i+1][1][0][0] = dp[i][0][0][1]dp[i+1][1][0][1] = dp[i][0][1][0]dp[i+1][0][1][0] = dp[i][1][0][0] + dp[i][1][0][1]dp[i+1][0][0][1] = dp[i][0][1][0]dp[i+1][1][0][0] %= MODdp[i+1][1][0][1] %= MODdp[i+1][0][1][0] %= MODdp[i+1][0][0][1] %= MODans = 0for j in range(2):for k in range(2):for l in range(2):ans += dp[n][j][k][l]if n == 1:print(1) #ケンelif n == 2:print(2) #ケンケン、ケンパelse:print(ans % MOD)