Cod sursa(job #228000)
Utilizator | Vlad Dumitriu vlad_D | Data | 6 decembrie 2008 09:00:27 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int n, k;
int puse = 0;
int v[32];
void back(int x) {
if (x > n) {
if (puse != k) return;
int i;
for (i = 1; i <= k; ++i) printf("%d ", v[i]);
printf("\n");
return;
}
if (n - x + 1 + puse < k) return;
//nu
puse++;
v[puse] = x;
back(x + 1);
puse--;
back(x + 1);
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d %d", &n, &k);
back(1);
return 0;
}