Проблема алгоритма вывода всего подмножества всех n чиселC++

Программы на C++. Форум разработчиков
Anonymous
Проблема алгоритма вывода всего подмножества всех n чисел

Сообщение Anonymous »

Сейчас я исследую связь n автомобилей, проблему, с которой я столкнулся, можно упростить следующим образом:
n чисел, и я хочу получить все подмножества, которые соответствуют условию, что они разделены (как в примере ниже), и все эти n чисел ** все используются и используются только один раз**.
Например, если n = 3, я могу разделить их на:

Код: Выделить всё

[[1, 2, 3]]
[[1, 2], [3]]
[[1, 3], [2]]
[[2, 3], [1]]
[[1], [2], [3]]
Я пытался решить эту проблему с помощью функции std::next_permutation с использованием C++ (поскольку в ней нет функции для задач комбинирования), но мне это не удалось, потому что она выдала слишком много повторяющихся ответов (например, [1 2][3] и [2 1][3], которые на самом деле одинаковы, но я не знаю, как их распознать)
Я думаю, что моя идея неверна, используя this function.

Подробнее здесь: https://stackoverflow.com/questions/759 ... -n-numbers

Вернуться в «C++»