Cod sursa(job #793577)
| Utilizator | Data | 3 octombrie 2012 15:59:19 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <cstdio>
int N, K;
int sol[100], viz[100];
void afisare() {
for (int i=0; i<K; ++i)
printf("%d ", sol[i]);
printf("\n");
}
void back(int k) {
if (k==K) {
afisare();
return;
}
for (int i=sol[k-1]+1; i<=N; ++i) {
if (!viz[i]) sol[k]=i;
++viz[i];
back(k+1);
--viz[i];
}
}
int main () {
freopen("combinari.in","rt",stdin);
freopen("combinari.out","wt",stdout);
scanf("%d %d", &N, &K);
back(0);
return 0;
}
