結果

問題 No.3004 ヤング図形
ユーザー titia
提出日時 2025-01-17 22:23:54
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 675 bytes
コンパイル時間 651 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 1,683,336 KB
最終ジャッジ日時 2025-01-17 22:27:01
合計ジャッジ時間 73,617 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample MLE * 3
other MLE * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

K=int(input())
LM=[list(map(int,input().split())) for i in range(K)]

mod=998244353

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

FACT_INV=[pow(FACT[-1],mod-2,mod)]
for i in range(10**8,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


K=[]

for l,m in LM:
    K.append(l*m)

ANS=1
SUM=sum(K)

for i in range(len(K)):
    ANS=ANS*Combi(SUM,SUM-K[i])%mod
    SUM-=K[i]

for l,m in LM:
    SUM=l*m
    for i in range(m):
        ANS=ANS*Combi(SUM,SUM-l)%mod
        SUM-=l

    ANS=ANS*FACT_INV[m]%mod

print(ANS%mod)
0