結果
問題 | No.2572 Midori on the grid |
ユーザー | hirayuu_yc |
提出日時 | 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 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 4,320 ms
237,948 KB |
testcase_01 | AC | 3,147 ms
236,924 KB |
testcase_02 | AC | 3,935 ms
236,804 KB |
testcase_03 | AC | 3,701 ms
236,668 KB |
testcase_04 | AC | 2,942 ms
236,848 KB |
testcase_05 | AC | 3,842 ms
236,784 KB |
testcase_06 | AC | 2,081 ms
234,624 KB |
testcase_07 | AC | 2,064 ms
234,880 KB |
testcase_08 | AC | 2,022 ms
234,752 KB |
ソースコード
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