Кажется, у меня у самого в голове появятся тараканы, настолько достала меня эта задача. Каждый раз я мысленно к ней возвращаюсь. Поставил еще на math.stackexchange (в строгой формулировке, поскольку там чувство юмора не столь хорошо развито), надеясь привлечь дополнительные ресурсы. Все бесполезно!
Сегодня нашел нее очень простое решение:
Берем по 1 таракану из каждой головы и перераспределяем. Таким образом получаем
возможных перестановок (субфакториал, беспорядок, смешение, derangement ). Затем берем еще по одному таракану и снова перераспределяем. Получаем
распределений и т.д.
Для
тараканов из каждой головы таким образом имеем
вариантов.
Если по одному таракану остается, требуется перераспределить по
оставшихся тараканов. При этом выбрать таракана в каждой голове можно
способами. Таким образом получаем
вариантов. В общем случае, если
тараканов остается, имеем
вариантов.
Неужели действительно все так просто?