Cod sursa(job #723230)
| Utilizator | Data | 25 martie 2012 04:39:43 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <stdio.h>
#define N 20
int data[N];
int n, k;
void comb(int i) {
if (i >= k) {
int j;
for (j = 0; j < k; j++)
printf("%d ", data[j] + 1);
printf("\n");
}
else {
int start, j;
if (i == 0)
start = -1;
else
start = data[i - 1];
for (j = start + 1; j < n; j++) {
data[i] = j;
comb(i + 1);
}
}
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d %d", &n, &k);
comb(0);
return 0;
}
