結果
問題 |
No.1388 Less than K
|
ユーザー |
|
提出日時 | 2021-01-15 17:17:11 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,060 bytes |
コンパイル時間 | 146 ms |
コンパイル使用メモリ | 81,940 KB |
実行使用メモリ | 848,296 KB |
最終ジャッジ日時 | 2024-11-26 08:20:10 |
合計ジャッジ時間 | 100,517 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 MLE * 1 |
other | AC * 2 MLE * 72 |
ソースコード
h, w, kk = map(int, input().split()) dp = [[[0] * h for _ in range(w)] for _ in range(h)] h -= 1 w -= 1 mod = 998244353 x = [-1, 0] y = [0, -1] dp[0][0][0] = 1 for i in range(1, h+w+1): for j in range(i+1): hh1 = j ww1 = i - j if not (0 <= hh1 <= h and 0 <= ww1 <= w): continue for k in range(i+1): hh2 = k ww2 = i - k if not (0 <= hh2 <= h and 0 <= ww2 <= w): continue if not abs(hh1-hh2) + abs(ww1-ww2) <= kk: continue for a in range(2): for b in range(2): if a == 0 and hh1 == 0: continue if a == 1 and ww1 == 0: continue if b == 0 and hh2 == 0: continue if b == 1 and ww2 == 0: continue dp[hh1][ww1][hh2] += dp[hh1+x[a]][ww1+y[a]][hh2+x[b]] dp[hh1][ww1][hh2] %= mod print(dp[-1][-1][-1])