結果

問題 No.3071 Double Speedrun
ユーザー flippergo
提出日時 2025-03-23 11:02:28
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 75 ms / 6,000 ms
コード長 683 bytes
コンパイル時間 333 ms
コンパイル使用メモリ 82,332 KB
実行使用メモリ 72,360 KB
最終ジャッジ日時 2025-03-23 11:02:31
合計ジャッジ時間 2,263 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

H,W = map(int,input().split())
S = [input().strip() for _ in range(H)]
MOD = 998244353
dpA = [[0 for _ in range(W)] for _ in range(H)]
dpB = [[0 for _ in range(W)] for _ in range(H)]
dpA[1][0] = 1
for i in range(1,H):
    for j in range(W):
        if S[i][j]==".":
            dpA[i][j] = (dpA[i][j]+dpA[i-1][j])%MOD
            if j>0:
                dpA[i][j] = (dpA[i][j]+dpA[i][j-1])%MOD
dpB[0][1] = 1
for j in range(1,W):
    for i in range(H):
        if S[i][j]==".":
            dpB[i][j] = (dpB[i][j]+dpB[i][j-1])%MOD
            if i>0:
                dpB[i][j] = (dpB[i][j]+dpB[i-1][j])%MOD
ans = (dpA[H-1][W-2]*dpB[H-2][W-1]-dpA[H-2][W-1]*dpB[H-1][W-2])%MOD
print(ans)
0