Проблема алгоритма вывода всего подмножества всех 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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