Pagini recente » Cod sursa (job #1151074) | Cod sursa (job #128283) | Cod sursa (job #1367152) | Cod sursa (job #716186) | Cod sursa (job #3295731)
#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;
}