Pagini recente » Cod sursa (job #897649) | Cod sursa (job #2661626) | Cod sursa (job #2459279) | Cod sursa (job #1965211) | Cod sursa (job #2924330)
#include <fstream>
//#include <iostream>
#include <vector>
using namespace std;
//ifstream cin("input"); ofstream cout("output");
ifstream cin("combinari.in"); ofstream cout("combinari.out");
vector < bool > folosit;
vector < int > comb;
void backtracking(int pos, int n, int k){
if (pos == k+1){
for (int i=1; i<=k; i++){
cout<<comb[i]<<" ";
}
cout<<'\n';
return;
}
for (int i=comb[pos-1]+1; i<=n; i++){
if (folosit[i])
continue;
folosit[i] = true;
comb[pos] = i;
backtracking(pos+1, n, k);
folosit[i] = false;
}
}
int main()
{
int n, k;
cin>>n>>k;
folosit.resize(n+1, false);
comb.resize(k+1, 0);
backtracking(1, n, k);
return 0;
}