結果
問題 | No.2530 Yellow Cards |
ユーザー | nikoro256 |
提出日時 | 2023-11-03 23:27:10 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,237 ms / 2,000 ms |
コード長 | 711 bytes |
コンパイル時間 | 142 ms |
コンパイル使用メモリ | 82,312 KB |
実行使用メモリ | 272,468 KB |
最終ジャッジ日時 | 2024-09-25 21:31:01 |
合計ジャッジ時間 | 14,530 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 17 |
ソースコード
def extgcd(a, b): if b: d, y, x = extgcd(b, a % b) y -= (a // b) * x return d, x, y return a, 1, 0 #以下modinv def mod_inv(a, m): g, x, y = extgcd(a, m) if g != 1: raise Exception() if x < 0: x += m return x N,K=map(int,input().split()) dp=[[0 for _ in range(K+1)] for _ in range(K+1)] #dp[イエローカード提示数][人が抜けた数] dp[0][0]=1 p=998244353 inv=mod_inv(N,p) for i in range(K): for j in range(i//2+1): dp[i+1][j]+=dp[i][j]*inv*(N-(i-j*2))%p dp[i+1][j]%=p dp[i+1][j+1]+=dp[i][j]*inv*(i-j*2)%p dp[i+1][j+1]%=p ans=0 for j in range(K+1): ans+=(N+j)*dp[-1][j] ans%=p print(ans)