結果

問題 No.1667 Forest
ユーザー だれだれ
提出日時 2021-07-06 11:33:18
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 468 bytes
コンパイル時間 707 ms
コンパイル使用メモリ 82,048 KB
実行使用メモリ 76,928 KB
最終ジャッジ日時 2024-05-09 00:35:51
合計ジャッジ時間 2,470 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import defaultdict

d = defaultdict(int)

x = input()
n = len(x)
assert 1 <= n <= 200000

for i in range(n):
    d[x[i]] += 1

mod = 10 ** 9 + 7

fact = [1]

for i in range(200005):
    fact.append(fact[i] * (i + 1) % mod)

inv = [0] * 200006
inv[200005] = pow(fact[200005], mod-2, mod)
for i in range(200004, -1, -1):
    inv[i] = inv[i + 1] * (i + 1) % mod

ans = fact[n]
for i in range(26):
    ans *= inv[d[chr(97 + i)]]
    ans %= mod

print(ans)
0