Cod sursa(job #545069)
Utilizator | Lepadat Mihai-Alexandru skull | Data | 2 martie 2011 17:35:13 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
using namespace std;
#define nmax 20
int st[nmax];
int N, K;
void afisare ()
{
int i;
for (i = 1; i <= K; ++i) printf("%d ", st[i]);
printf("\n");
}
void back(int p)
{
int i;
if (p == K + 1) afisare ();
else
for (i = st[p-1]+1; i <= N; ++i) { st[p] = i; back(p+1); }
}
int main ()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d", &N, &K);
back(1);
return 0;
}