結果
問題 | No.2120 場合の数の下8桁 |
ユーザー | googol_S0 |
提出日時 | 2022-11-04 21:49:27 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 500 ms / 2,000 ms |
コード長 | 480 bytes |
コンパイル時間 | 237 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 70,400 KB |
最終ジャッジ日時 | 2024-07-18 19:34:13 |
合計ジャッジ時間 | 4,556 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 20 |
ソースコード
M=int(input()) N=int(input()) mod=10**8 if M<N: print('0'*8) exit() N=min(N,M-N) c2=0 c5=0 A=1 B=1 for i in range(1,M+1): if i<=N: while i&1==0: i>>=1 c2-=1 while i%5==0: i//=5 c5-=1 B=B*i%mod elif M-N<i: while i&1==0: i>>=1 c2+=1 while i%5==0: i//=5 c5+=1 A=A*i%mod for i in range(mod): if i*B%mod==1: B=i break S=str(A*B*pow(2,c2,mod)*pow(5,c5,mod)%mod) while len(S)<8: S='0'+S print(S)