Перебор всех возможных вариантов заполнения массива

Подскажите пожалуйста, как реализовать алгоритм? Вводные данные: Имеем массив на 100 элементов, типа bool. как перебрать все варианты заполнения массива используя true 40 раз, остальное false?


Ответы (1 шт):

Автор решения: Harry

Самый простой вариант — создаем заранее упорядоченный массив данных и применяем стандартнейший next_permutation. Вот для количества 10-6-4:

string s = "0000111111";
do {
    cout << s << endl;
} while(next_permutation(s.begin(),s.end()));

Можете заменить на массив bool, если так уж нужно :)

→ Ссылка