Cod sursa(job #272188)
| Utilizator | Data | 6 martie 2009 15:44:23 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
int k,n;
int v[19],h[19];
void back (int nivel, int limita)
{
int i;
if (nivel==k+1)
{
for (i=1;i<=k;i++) printf ("%d ",v[i]);
printf ("\n");
}
for (i=limita;i<=n;i++)
{
if (h[i]==1) continue;
h[i]=1;
v[nivel]=i;
back (nivel+1,i+1);
h[i]=0;
}
}
int main ()
{
freopen ("combinari.in","r",stdin);
freopen ("combinari.out","w",stdout);
scanf ("%d %d",&n,&k);
back (1,1);
return 0;
}
