Pagini recente » Cod sursa (job #316601) | Cod sursa (job #882117) | Cod sursa (job #971935) | Cod sursa (job #1638798) | Cod sursa (job #1989950)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("combinari.in");
ofstream cout("combinari.out");
void comb(int n, int k, int current, vector<int> &sol, vector<bool> &used){
if(current == k + 1){
for(auto &x : sol)
cout << x << ' ';
cout << '\n';
return;
}
else{
int lim = 1;
if(sol.size())
lim = sol.back();
for(int i = lim; i <= n; i++){
if(used[i])
continue;
used[i] = true;
sol.push_back(i);
comb(n, k, current + 1, sol, used);
used[i] = false;
sol.pop_back();
}
}
}
int main(){
int n, k;
cin >> n >> k;
vector<int> sol;
vector<bool> used(n + 1, false);
comb(n, k, 1, sol, used);
}