結果
問題 |
No.3178 free sort
|
ユーザー |
![]() |
提出日時 | 2025-06-13 21:27:44 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 700 ms / 2,000 ms |
コード長 | 529 bytes |
コンパイル時間 | 168 ms |
コンパイル使用メモリ | 82,616 KB |
実行使用メモリ | 92,324 KB |
最終ジャッジ日時 | 2025-06-13 21:28:22 |
合計ジャッジ時間 | 32,143 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 40 |
ソースコード
S=input() v=[0]*10 mod=998244353 for i in range(len(S)): v[int(S[i])]+=1 result=0 u=[1]*10**6 u2=[1]*10**6 for i in range(1,10**6): u[i]=u[i-1]*i u[i]%=mod u2[i]=pow(u[i],-1,mod) def ncm(x,y): ans=u[x]*u2[y] ans%=mod ans*=u2[x-y] ans%=mod return ans for x in range(1,10): if v[x]==0: continue h=v[:] h[x]-=1 rest=sum(h) w=1 for y in range(10): n=h[y] w*=ncm(rest,n) w%=mod rest-=n result+=w result%=mod print(result)