結果

問題 No.3178 free sort
ユーザー hello_lim
提出日時 2025-06-14 11:01:33
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 176 ms / 2,000 ms
コード長 505 bytes
コンパイル時間 447 ms
コンパイル使用メモリ 83,028 KB
実行使用メモリ 76,612 KB
最終ジャッジ日時 2025-06-14 11:01:41
合計ジャッジ時間 8,100 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

N = input()

D = {}
MOD = 998244353

for i in range(len(N)):
  if N[i] not in D:
    D[N[i]] = 1
  else:
    D[N[i]] += 1

ans = 1

if "0" in D:
  for i in range(len(N), 0, -1):
    if i == len(N):
      ans *= len(N) - D["0"]
    else:
      ans *= i
    ans %= MOD
else:
  for i in range(len(N), 0, -1):
    ans *= i
    ans %= MOD

for i in range(10):
  x = str(i)
  val = 1
  if x in D:
    for j in range(1, D[x]+1):
      val *= pow(j, -1, MOD)
      val %= MOD
  ans *= val
  ans %= MOD

print(ans)
0