結果
問題 |
No.2530 Yellow Cards
|
ユーザー |
![]() |
提出日時 | 2023-11-06 01:59:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 302 ms / 2,000 ms |
コード長 | 626 bytes |
コンパイル時間 | 435 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 62,208 KB |
最終ジャッジ日時 | 2024-09-25 22:58:00 |
合計ジャッジ時間 | 4,953 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
import sys input = sys.stdin.readline N,K=map(int,input().split()) mod=998244353 DP=[0]*(N+K) DP[0]=1 INV=pow(N,-1,mod) for i in range(K): for j in range(N+K-2,-1,-1): if DP[j]==0: continue # 今まででたカードがi枚 # yellow 二枚がj人 # yellow一枚は one=i-j*2 # one/Nで一人増え、それ以外では増えない DP[j+1]+=DP[j]*one%mod*INV%mod DP[j]=DP[j]*(1-one*INV%mod)%mod DP[j]%=mod DP[j+1]%=mod ANS=0 for i in range(N+K-1): ANS+=DP[i]*(i+N) ANS%=mod print(ANS%mod)