結果
問題 | No.1321 塗るめた |
ユーザー | chineristAC |
提出日時 | 2020-12-18 01:27:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 168 ms / 2,000 ms |
コード長 | 719 bytes |
コンパイル時間 | 224 ms |
コンパイル使用メモリ | 82,168 KB |
実行使用メモリ | 82,660 KB |
最終ジャッジ日時 | 2024-09-21 08:46:42 |
合計ジャッジ時間 | 5,281 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 45 |
ソースコード
mod = 998244353 omega = pow(3,119,mod) rev_omega = pow(omega,mod-2,mod) def cmb(n, r, mod):#コンビネーションの高速計算 if ( r<0 or r>n ): return 0 r = min(r, n-r) return g1[n] * g2[r] * g2[n-r] % mod N = 2*10**5 g1 = [1]*(N+1) # 元テーブル g2 = [1]*(N+1) #逆元テーブル inv = [1]*(N+1) #逆元テーブル計算用テーブル for i in range( 2, N + 1 ): g1[i]=( ( g1[i-1] * i ) % mod ) inv[i]=( ( -inv[mod % i] * (mod//i) ) % mod ) g2[i]=( (g2[i-1] * inv[i]) % mod ) inv[0]=0 N,M,K = map(int,input().split()) res = 0 for i in range(K+1): res += cmb(K,i,mod) * pow(K-i+M,N,mod) * pow(-1,i,mod) res %= mod res *= cmb(M,K,mod) res %= mod print(res)