Cod sursa(job #406926)
Utilizator | Data | 1 martie 2010 21:48:03 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
int n, k, i, j, q, v[20], viz[20];
FILE * g = fopen ("combinari.out", "w");
void back (int i){
int j;
if (i <= k){
for (j = 1 ; j <= n ; j++)
if(!viz[j] && j > v[i-1]){
v[i] = j;
viz[j] = 1;
back (i+1);
viz[j] = 0;
}
}
else {
for (q = 1 ; q <= k ; q++)
fprintf(g, "%d ", v[q]);
fprintf (g, "\n");
}
}
int main (){
FILE * f = fopen ("combinari.in", "r");
fscanf (f, "%d %d", &n, &k);
back (1);
fclose(f);
fclose(g);
return 0;
}