結果
問題 |
No.3178 free sort
|
ユーザー |
![]() |
提出日時 | 2025-06-13 21:28:16 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 409 bytes |
コンパイル時間 | 289 ms |
コンパイル使用メモリ | 82,576 KB |
実行使用メモリ | 103,936 KB |
最終ジャッジ日時 | 2025-06-13 21:28:24 |
合計ジャッジ時間 | 5,071 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | WA * 40 |
ソースコード
M=998244353 s=input() n=len(s) c=[s.count(str(i)) for i in range(10)] N=n fa=[1] for i in range(1,N+1): fa+=[fa[-1]*i%M] fb=[pow(fa[N],M-2,M)] for i in reversed(range(1,N+1)): fb+=[fb[-1]*i%M] fb.reverse() fc=lambda n,k:fa[n]*fb[k]*fb[n-k]%M if n>=k>=0 else 0 a1=fa[n] for i in range(10): a1*=fb[c[i]] a1%=M a2=0 if c[0]>0: a2=fa[n-1] for i in range(10): a2*=fb[c[i]] a2%M print((a1-a2)%M)