Перебор сочетанийограничение по времени на тест 2 секундыограничение по памяти на тест 64 мегабайтаввод стандартный вводвывод стандартный выводВыведите все сочетания натуральных чисел от 1 до N, содержащие ровно K элементов.Входные данныеВвод содержит целые числа N и K (1 ≤ K ≤ N ≤ 9).Выходные данныеВыведите одну или более строк, содержащих все K-элементные сочетания чисел от 1 до N в лексикографическом порядке (см. примеры).Примерывходные данные3 2выходные данные1 2 1 3 2 3 входные данные4 2выходные данные1 2 1 3 1 4 2 3 2 4 3 4

2 Авг 2020 в 19:42
161 +1
0
Ответы
1
include include

using namespace std;

void generateCombinations(vector& combination, int N, int K, int start) {
if (combination.size() == K) {
for (int num : combination) {
cout << num << " ";
}
cout << endl;
return;
}

for (int i = start; i <= N; i++) {
combination.push_back(i);
generateCombinations(combination, N, K, i + 1);
combination.pop_back();
}

}

int main() {
int N, K;
cin >> N >> K;

vector<int> combination;
generateCombinations(combination, N, K, 1);
return 0;

}

18 Апр 2024 в 10:42
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир