結果
問題 | No.2527 H and W |
ユーザー | hir355 |
提出日時 | 2023-11-03 22:29:40 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 87 ms / 2,000 ms |
コード長 | 580 bytes |
コンパイル時間 | 208 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 74,240 KB |
最終ジャッジ日時 | 2024-09-25 20:54:15 |
合計ジャッジ時間 | 2,543 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
MOD = 998244353 fac = [1] * (1 * 10 ** 6 + 1) for i in range(len(fac) - 1): fac[i + 1] = fac[i] * (i + 1) % MOD def comb(n, k): if k < 0 or n < k: return 0 return fac[n] * pow(fac[n - k] * fac[k], MOD - 2, MOD) % MOD def devisors(n): d = [] a = 1 while a * a < n: if n % a == 0: d.append(a) d.append(n // a) a += 1 if a * a == n: d.append(a) return d h, w, k = map(int, input().split()) ans = 0 for d in devisors(k): x, y = d, k // d ans += comb(h, x) * comb(w, y) print(ans % MOD)