Pagini recente » Cod sursa (job #110620) | Cod sursa (job #1823121) | Cod sursa (job #1188411) | Cod sursa (job #1548325) | Cod sursa (job #2842303)
#include <bits/stdc++.h>
using namespace std;
FILE *fin, *fout;
const int NMAX = 18;
int n, k;
int v[NMAX], f[NMAX];
void bkt(int poz) {
if(poz == k) {
for(int i = 0; i < k; i++)
fprintf(fout, "%d ", v[i]);
fprintf(fout, "\n");
} else {
int i;
if(poz == 0) i = 1;
else i = v[poz - 1] + 1;
for(; i <= n; i++) {
if(f[i] == 0) {
v[poz] = i;
f[i] = 1;
bkt(poz + 1);
f[i] = 0;
}
}
}
}
int main() {
fin = fopen("combinari.in", "r");
fout = fopen("combinari.out", "w");
fscanf(fin, "%d%d", &n, &k);
bkt(0);
fclose(fin);
fclose(fout);
return 0;
}