結果

問題 No.2430 Damage Zone
ユーザー ramdosramdos
提出日時 2023-08-11 16:08:35
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 1,751 ms / 2,000 ms
コード長 803 bytes
コンパイル時間 96 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 11,648 KB
最終ジャッジ日時 2024-11-18 11:32:51
合計ジャッジ時間 13,645 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

H,W,K=map(int,input().split())
S = [input() for i in range(H)]
dp_old = [[0 for i in range(W)] for j in range(H)]
ans = 0
for k in range(K):
    dp_new = [[0 for i in range(W)] for j in range(H)]
    if k==0:
        dp_new[0][0]=1
    for i in range(H):
        for j in range(W):
            if S[i][j]=='.':
                if i!=0:
                    dp_new[i][j]=(dp_new[i][j]+dp_new[i-1][j])%998244353
                if j!=0:
                    dp_new[i][j]=(dp_new[i][j]+dp_new[i][j-1])%998244353
            if S[i][j]=='o':
                if i!=0:
                    dp_new[i][j]=(dp_new[i][j]+dp_old[i-1][j])%998244353
                if j!=0:
                    dp_new[i][j]=(dp_new[i][j]+dp_old[i][j-1])%998244353
    dp_old = dp_new
    ans=(ans+dp_old[H-1][W-1])%998244353
print(ans)
0