解いてみた。

同じ種類の文字が含まれている場合は、その分階乗で割る。 それを注意すればわりと簡単に求められる。

Ruby

Array#permutation には便利メソッドがある。

他の言語は自分で実装する必要があるだろう。