Здравствуйте, Кузнец, Вы писали:
К>>>например, если допустима длина 10, а символов 26 — все буквы английского алфавита, при этом запрещённых слов нет, то ответ будет 10^26, и мы будем его собирать по единичке, затратив на всё дело слишком много времени.
К>Дно рекурсии — единица, ответ программа разлагает на сумму нулей и единиц и их суммирует, так что алгоритм время ест )
Сколько сложений делает твоя реализация на этом примере? Алгоритму, описанному в твоём же первом сообщении, достаточно 260 сложений. Если твоя реализация делает больше — то значит реализация плохая. Нужно её выкинуть и воплотить в код ровно то, что описано текстом в твоём первом сообщении. Только потом к этому имеет смысл добавлять сжатие путей и прочие оптимизации.