結果
問題 | No.2572 Midori on the grid |
ユーザー |
|
提出日時 | 2023-12-02 16:03:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 4,320 ms / 5,000 ms |
コード長 | 692 bytes |
コンパイル時間 | 350 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 237,948 KB |
最終ジャッジ日時 | 2024-09-26 19:47:36 |
合計ジャッジ時間 | 34,994 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 8 |
ソースコード
fact=[] rev=[] def comb_init(N=1000000,MOD=998244353): global fact,rev fact=[1] rev=[1] for i in range(N): fact.append((fact[-1]*(i+1))%MOD) rev.append((rev[-1]*pow(i+1,MOD-2,MOD))%MOD) def comb(n,r,MOD=998244353): if n<r: return 0 return (fact[n]*rev[r]*rev[n-r])%MOD H,W,Q=map(int,input().split()) comb_init(2000500,998244353) for i in range(Q): t=int(input()) aft=0 if t<0: t=-t H,W=W,H aft=1 if H+t<W: if aft==1: H,W=W,H print(0) continue if t>W: print(comb(H+W,W)) else: print((comb(H+W,W)-comb(H+W,W-t))%998244353) if aft==1: H,W=W,H