結果
問題 |
No.3071 Double Speedrun
|
ユーザー |
![]() |
提出日時 | 2025-03-21 21:52:21 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 805 bytes |
コンパイル時間 | 508 ms |
コンパイル使用メモリ | 82,580 KB |
実行使用メモリ | 271,016 KB |
最終ジャッジ日時 | 2025-03-21 21:52:32 |
合計ジャッジ時間 | 8,240 ms |
ジャッジサーバーID (参考情報) |
judge7 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 1 TLE * 1 -- * 12 |
ソースコード
H, W = map(int, input().split()) S = [input() for i in range(H)] dp = [[0 for i in range(H)] for j in range(H)] dp[0][0] = 1 di, dj = [1, 0], [0, 1] MOD = 998244353 for k in range(0, H+W-2): ndp = [[0 for i in range(H)] for j in range(H)] for ai in range(H): for bi in range(H): aj = k - ai bj = k - bi #Alice : (ai, aj), Bob : (bi, bj) for x in range(2): for y in range(2): #被る移動は行えない nai, naj = ai + di[x], aj + dj[x] nbi, nbj = bi + di[y], bj + dj[y] if 0 <= nai < H and 0 <= naj < W and 0 <= nbi < H and 0 <= nbj < W and S[nai][naj] == '.' and S[nbi][nbj] == '.' and (k == H+W-3 or nai != nbi or naj != nbj): ndp[nai][nbi] += dp[ai][bi] ndp[nai][nbi] %= MOD dp, ndp = ndp, dp # print(dp) print(dp[-1][-1]*pow(2, -1, MOD)%MOD)