結果
| 問題 |
No.2528 pop_(backfront or not)
|
| コンテスト | |
| ユーザー |
mattu34
|
| 提出日時 | 2023-11-04 16:28:49 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 396 ms / 2,000 ms |
| コード長 | 829 bytes |
| コンパイル時間 | 255 ms |
| コンパイル使用メモリ | 82,324 KB |
| 実行使用メモリ | 201,856 KB |
| 最終ジャッジ日時 | 2024-09-25 22:07:05 |
| 合計ジャッジ時間 | 3,818 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 |
ソースコード
dxdy1 = ((0, 1), (0, -1), (1, 0), (-1, 0))
dxdy2 = ((0, 1), (0, -1), (1, 0), (-1, 0), (1, 1), (-1, -1), (1, -1), (-1, 1))
dxdy3 = ((0, 1), (1, 0))
dxdy4 = ((1, 1), (1, -1), (-1, 1), (-1, -1))
INF = float("inf")
MOD = 998244353
mod = 998244353
MOD2 = 10**9 + 7
mod2 = 10**9 + 7
# memo : len([a,b,...,z])==26
N = int(input())
dp = [[0] * (2 * N + 1) for _ in range(2 * N + 1)]
dp[0][0] = 1
for i in range(2 * N + 1):
for j in range(2 * N + 1 - i):
if i - 1 >= 0 and j - 1 >= 0:
dp[i][j] += dp[i - 1][j - 1] * ((i - 1) * (j - 1) + 1)
if i - 2 >= 0:
dp[i][j] += dp[i - 2][j] * (i - 1) * (i - 2) // 2
if j - 2 >= 0:
dp[i][j] += dp[i][j - 2] * (j - 1) * (j - 2) // 2
dp[i][j] %= MOD
# print(dp)
for x in range(1, 2 * N + 2):
print(dp[x - 1][2 * N + 1 - x])
mattu34