Cod sursa(job #156702)
Utilizator | Data | 12 martie 2008 18:24:30 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include<stdio.h>
int uz[19];
int aux,k,n;
void afisare()
{int i;
for(i=1; i<=n; ++i)
if(uz[i])
printf("%d ",i);
printf("\n");
}
void back(int aux,int l)
{
if(aux==k+1)
afisare();
else
{
int i;
for(i=l+1; i<=n; ++i)
if(!uz[i]){
uz[i]=1;
++aux;
back(aux,i);
uz[i]=0;
--aux;
}
}
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&k);
back(1,0);
return 0;
}