Pagini recente » Cod sursa (job #182667) | Cod sursa (job #1051683) | Cod sursa (job #136418) | Cod sursa (job #1578397) | Cod sursa (job #1605247)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int NMAX = 18;
int n; int k;
int v[NMAX + 1];
bitset<NMAX + 1> vis;
void print() {
for(int i = 1; i <= k ;++i)
fout << v[i] << ' ' ;
fout << '\n';
}
void backtrack(int p) {
if(p == k + 1)
print();
else
for(int i = v[p - 1] + 1; i <= n; ++i)
if(vis[i] == false) {
vis[i] = true;
v[p] = i;
backtrack(p + 1);
vis[i] = false;
}
}
int main() {
fin >> n >> k;
v[0] = 0;
backtrack(1);
return 0;
}