Ну да, вроде всё правильно, можно проверить для несложной аналогичной задачи (как я всегда и делаю) - у нас есть слово aabc
aabc
aacb
abac
acab
abca
acba
baca
caba
bcaa
cbaa
baac
caab
Это различные перестановки букв
4!/2!=12, как и должно быть
Вот еще: дано слово aabcd - порядок следования букв c и d не должен меняться
aabcd
aacbd
aacdb
abacd
acabd
acadb
abcad
acbad
acdab
abcda
acbda
acdba
baacd
caabd
caadb
bacad
cabad
cadab
bacda
cabda
cadba
bcaad
cbaad
cdaab
bcada
cbada
cdaba
bcdaa
cbdaa
cdbaa
5!/(2!*2!)=30, как и должно быть