結果
問題 | No.93 ペガサス |
ユーザー |
|
提出日時 | 2022-01-29 22:18:23 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 567 ms / 5,000 ms |
コード長 | 937 bytes |
コンパイル時間 | 348 ms |
コンパイル使用メモリ | 82,372 KB |
実行使用メモリ | 199,296 KB |
最終ジャッジ日時 | 2025-01-02 19:44:52 |
合計ジャッジ時間 | 4,987 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
def main():N = int(input())MOD = 10**9 + 7DP = [[[[0]*2 for ft in range(2)] for _ in range(i)] for i in range(N+1)]DP[1][0][False][False] = 1if N >= 2:DP[2][0][False][False] = 2for i in range(2, N):for j in range(i):for k in [True, False]:for s in [True, False]:DP[i][j][k][s] %= MODif DP[i][j][k][s] == 0:continueDP[i+1][j-1][False][k] += (j-k-s) * DP[i][j][k][s]if k:DP[i+1][j-1][False][False] += DP[i][j][k][s]if s:DP[i+1][j][True][k] += DP[i][j][k][s]DP[i+1][j][False][k] += (i-1-j+s) * DP[i][j][k][s]DP[i+1][j+1][True][k] += (2-s) * DP[i][j][k][s]print(DP[N][0][False][False] % MOD)if __name__ == '__main__':main()