Đếm số hoán vị lặp
Submit solution
Points:
3
Time limit:
2.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho một xâu ký tự hãy đếm xem có bao nhiêu hoán vị khác nhau của xâu này
Input
Dòng đầu là số bộ kiểm thử \(t (1 \le t \le 10)\)
Tiếp theo \(t\) dòng mỗi dòng một xâu ký tự chỉ gồm các chữ hoa Tiếng Anh có độ dài không vượt quá \(10^5\)
Output
Tương ứng với mỗi dòng là số hoán vị khác nhau, vì có thể số quá lớn ta chỉ lấy phần dư của kết quả cho \(1000000007 (10^9+7)\)
Ví dụ
Input
2
COCA
BANANA
Output
12
60
Giải thích
Từ COCA có 12 hoán vị khác nhau
ACCO
ACOC
AOCC
CACO
CAOC
CCAO
CCOA
COAC
COCA
OACC
OCAC
OCCA
Comments
(A / B) % MOD = ((A % MOD) * (B^(MOD - 2) % MOD)) % MOD