Cod sursa(job #154022)
| Utilizator | Data | 10 martie 2008 21:19:13 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
int sol[19];
int nr, n, p;
void afisare() {
int i;
for (i = 1; i <= p; i++)
printf("%d ", sol[i]);
printf("\n");
}
void back(int k) {
int v = n - p + k, i ;
for(i = sol[k-1] + 1; i <= v; i++) {
sol[k] = i;
if (k == p) {
afisare();
continue;
}
back(k+1);
}
}
int main() {
freopen("combinari.in", "r",stdin);
freopen("combinari.out", "w",stdout);
scanf("%d %d", &n, &p);
fclose(stdin);
back(1);
fclose(stdout);
return 0;
}
