結果
| 問題 | No.93 ペガサス |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-03-18 11:41:43 |
| 言語 | Python3 (3.14.3 + numpy 2.4.2 + scipy 1.17.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 742 bytes |
| 記録 | |
| コンパイル時間 | 447 ms |
| コンパイル使用メモリ | 20,576 KB |
| 実行使用メモリ | 204,120 KB |
| 最終ジャッジ日時 | 2026-03-18 11:42:09 |
| 合計ジャッジ時間 | 24,725 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 15 TLE * 1 |
ソースコード
N = int(input())
MOD = 10**9 + 7
DP = [[[[0]*2 for _ in range(2)] for _ in range(i)] for i in range(N+1)]
DP[1][0][0][0] = 1
if N >= 2:
DP[2][0][0][0] = 2
for i in range(2, N):
for j in range(i):
for k in [1, 0]:
for s in [1, 0]:
DP[i][j][k][s] %= MOD
if DP[i][j][k][s] == 0:
continue
DP[i+1][j-1][0][k] += (j-k-s) * DP[i][j][k][s]
if k:
DP[i+1][j-1][0][0] += DP[i][j][k][s]
if s:
DP[i+1][j][1][k] += DP[i][j][k][s]
DP[i+1][j][0][k] += (i-1-j+s) * DP[i][j][k][s]
DP[i+1][j+1][1][k] += (2-s) * DP[i][j][k][s]
print(DP[N][0][0][0] % MOD)