結果

問題 No.2527 H and W
ユーザー titia
提出日時 2023-11-03 22:04:38
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 326 ms / 2,000 ms
コード長 584 bytes
コンパイル時間 296 ms
コンパイル使用メモリ 82,408 KB
実行使用メモリ 243,216 KB
最終ジャッジ日時 2024-09-25 20:25:26
合計ジャッジ時間 8,902 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

H,W,K=map(int,input().split())

mod=998244353

FACT=[1]
for i in range(1,2*10**6+1):
    FACT.append(FACT[-1]*i%mod)

FACT_INV=[pow(FACT[-1],mod-2,mod)]
for i in range(2*10**6,0,-1):
    FACT_INV.append(FACT_INV[-1]*i%mod)

FACT_INV.reverse()

def Combi(a,b):
    if 0<=b<=a:
        return FACT[a]*FACT_INV[b]%mod*FACT_INV[a-b]%mod
    else:
        return 0

ANS=0

sc=H*W-K
for i in range(H+1):
    score=W*i

    rest=sc-score

    if rest>=0 and rest%(H-i)==0:
        k=rest//(H-i)

        ANS+=Combi(H,i)*Combi(W,k)

print(ANS%mod)
    
0