Я пытаюсь создать программу, которая дает мне все возможные комбинации элементов вектора или строки. Я видел, что это можно сделать с помощью функции std :: cartesian_product в C ++, но все примеры, которые я видел, были между двумя списками. Мне нужно следующее:
Если есть такой вектор:
std::vector<std::string> letters = {"a", "b", "c", ..., "z"};
Я хочу, чтобы все комбинации были разной длины. Например, если мне нужны все комбинации минимальной длины 1 и максимальной 2, они должны выглядеть следующим образом:
a, b, c, d, ... , z, ab, ac, ad, ... , az, ... , zz
В Python я сделал это с помощью библиотеки itertools с функцией product. Я сделал это так:
for i in range(1, 3):
for s in intertools.product(vector, repeat=i):
print(''.join(s))
Как мне это сделать? Я немного растерялся с этим.
Спасибо !!