Cod sursa(job #1839866)
| Utilizator | Data | 3 ianuarie 2017 15:49:43 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.67 kb |
#include <cstdio>
#include <bitset>
#define Q 20
FILE *fi, *fo;
int n, k;
std::bitset <Q> fol;
void comb(int poz, int last) {
if(poz == k) {
for(int i = 1;i <= n;i++)
if(fol[i])
fprintf(fo, "%d ", i);
fprintf(fo, "\n");
}
else {
for(int i = last;i <= n;i++)
if(!fol[i]) {
fol[i] = 1;
comb(poz + 1, i + 1);
fol[i] = 0;
}
}
}
int main() {
fi = fopen("combinari.in", "r");
fo = fopen("combinari.out", "w");
fscanf(fi, "%d%d", &n, &k);
comb(0, 1);
fclose(fi);
fclose(fo);
return 0;
}
