結果
問題 | No.2527 H and W |
ユーザー |
|
提出日時 | 2024-11-06 20:24:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 86 ms / 2,000 ms |
コード長 | 749 bytes |
コンパイル時間 | 405 ms |
コンパイル使用メモリ | 82,360 KB |
実行使用メモリ | 77,648 KB |
最終ジャッジ日時 | 2024-11-06 20:24:59 |
合計ジャッジ時間 | 3,271 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
H,W,K = map(int,input().split())L = max(H,W)MOD = 998244353A = list(range(L+1))A[0]=A[1]=1for i in range(2,L+1):A[i]=(i*A[i-1])%MODB = [0]*(L+1)B[0]=B[1]=1B[L] = pow(A[L],MOD-2,MOD)for i in range(L-1,1,-1):B[i] = (B[i+1]*(i+1))%MODdef comb(n,k):if k>n or k<0:return 0if k==0 or k==n:return 1return (A[n]*B[k]*B[n-k])%MODans = 0for i in range(1,K+1):if i*i>K:breakif K%i==0:n1 = in2 = K//iif n1<=H and n2<=W and n1!=n2:ans = (ans+(comb(H,n1)*comb(W,n2))%MOD)%MODif n2<=H and n1<=W and n1!=n2:ans = (ans+(comb(H,n2)*comb(W,n1))%MOD)%MODif n1<=H and n2<=W and n1==n2:ans = (ans+(comb(H,n1)*comb(W,n2))%MOD)%MODprint(ans)