Cod sursa(job #387447)
Utilizator | Data | 27 ianuarie 2010 18:20:07 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
int n,k,f[23];
void solutie()
{
int i;
for(i=1;i<=n;i++)
if(f[i])
printf("%d ",i);
printf("\n");
}
void back(int poz,int pus)
{
if(n-poz+1<k-pus)
return ;
if(poz==n+1)
solutie();
if(pus<k)
{
f[poz]=1;
back(poz+1,pus+1);
}
f[poz]=0;
back(poz+1,pus);
}
int main ()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&k);
back(1,0);
return 0;
}