結果
問題 | No.2527 H and W |
ユーザー |
![]() |
提出日時 | 2023-11-03 22:01:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 183 ms / 2,000 ms |
コード長 | 795 bytes |
コンパイル時間 | 151 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 212,828 KB |
最終ジャッジ日時 | 2024-09-25 20:17:55 |
合計ジャッジ時間 | 5,346 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
Mod=998244353H,W,K=map(int,input().split())def make_divisors(n):lower_divisors , upper_divisors = [], []i = 1while i*i <= n:if n % i == 0:lower_divisors.append(i)if i != n // i:upper_divisors.append(n//i)i += 1return lower_divisors + upper_divisors[::-1]l=make_divisors(K)# print(l)facts=[]inv_facts=[]t=1for i in range(10**6+1):facts.append(t)t=t*(i+1)%Modinv_facts.append(pow(facts[10**6],-1,Mod))for i in range(10**6):inv_facts.append(inv_facts[-1]*(10**6-i)%Mod)inv_facts.reverse()ans=0for s in l:a=sb=K//aif(a>H or b>W):continueelse:ans+=(facts[H]*inv_facts[a]*inv_facts[H-a]%Mod)*(facts[W]*inv_facts[b]*inv_facts[W-b]%Mod)%Modprint(ans%Mod)