Генерация перестановок с повторениями
Условия задачи: Язык C++. Есть 6 этажей (ну или 6 этапов если так можно выразиться). На каждом можно вставить буквы A B C D, но с каждым этапом количество слотов увеличивается на 1, начиная с первого.
Расположение буквы в слотах относительно других букв не имеет значения, т.е. ААB и ABA и т.д. - одно и то же. Важен лишь сам факт присутствия этих букв в слотах (так как потом с ними будут производиться определенные действия, ну что-то вроде за каждую букву А добавить к NUM +1, за каждую букву B добавить к NUM +2 и т.д.)
Задача: Сгенерировать все возможные комбинации перестановок, подпадающих под эти условия. Если можно, еще добавить по возможности count
с количеством суммарно сгенерированных вариантов.
Небольшой пример:
A, B, C, D.
AA,AB,AC,AD,BB,CB,DB,CC,DC,DD.
AAA,AAB,AAC ...
...
...
AAAAAA,AAAAAB,AAAAAC и т.д.
Хотелось бы как-то с использованием метода next_permunation
, но он, насколько я понял, генерирует только без повторений, ну или может и с повторениями, но я не смог придумать, как это "прикрутить" это к данной задаче. Даже с вложенными друг в друга циклами у меня не получилось. Помогите, пожалуйста, с этой задачкой.