結果
問題 |
No.1811 EQUIV Ten
|
ユーザー |
|
提出日時 | 2022-01-15 00:02:49 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,052 ms / 2,000 ms |
コード長 | 645 bytes |
コンパイル時間 | 359 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 87,552 KB |
最終ジャッジ日時 | 2024-11-20 16:15:46 |
合計ジャッジ時間 | 9,811 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
n = int(input()) mod = 10**9 + 7 if n <= 3: print(0) exit() DP = [[0 for _ in range(8)] for _ in range(n + 1)] for i in range(8): DP[3][i] = 1 for i in range(3, n): DP[i + 1][0] = DP[i][0] + DP[i][4] DP[i + 1][1] = DP[i][0] + DP[i][4] DP[i + 1][2] = DP[i][1] DP[i + 1][3] = DP[i][1] + DP[i][5] DP[i + 1][4] = DP[i][2] + DP[i][6] DP[i + 1][5] = DP[i][2] + DP[i][6] DP[i + 1][6] = DP[i][3] + DP[i][7] DP[i + 1][7] = DP[i][3] + DP[i][7] for j in range(8): DP[i + 1][j] %= mod ans = pow(2, n, mod) for i in range(8): ans -= DP[n][i] ans %= mod print(ans)