Cod sursa(job #3295731)

Utilizator anamarias12Serbanoiu Ana-Maria anamarias12 Data 8 mai 2025 01:36:26
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>
using namespace std;


void CombinariRecu(vector<vector<int>> &res, vector<int> &vect, int n, int start, int k) {
	if(k == 0) {
		res.push_back(vect);
		return; // stochez combinarea curenta
	}

	// incerc de la start la n
	for (int i = start; i <= n; i++) {
		// adaug nr la combi
		vect.push_back(i);
		// recur pt a constr combi
		CombinariRecu(res, vect, n, i + 1, k - 1);
		vect.pop_back();
	}
}


vector<vector<int>> Combinari(int n, int k) {
	vector<vector<int>> res;
    vector<int> temp;

    CombinariRecu(res, temp, n, 1, k);
    return res;
}

int main() {
	freopen("combinari.in", "r", stdin);
	freopen("combinari.out", "w", stdout);

	int n, k;
	cin >> n >> k;
	vector<vector<int>> res = Combinari(n, k);

	sort(res.begin(), res.end());

	for (vector<int> it : res) {
		for(int i = 0; i < it.size(); i++) {
			cout << it[i] << " ";
		}
		cout << endl;
	}

	return 0;
}