Cod sursa(job #171064)
Utilizator | Data | 3 aprilie 2008 17:41:14 | |
---|---|---|---|
Problema | Combinari | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include<stdio.h>
int n,k,v[20],m;
FILE*g=fopen("combinari.out","w");
int valid(int k)
{if(k>1) if(v[k]<=v[k-1]) return 0;
return 1;
}
void afis(int k)
{int i;
for(i=1;i<=k;i++)
fprintf(g,"%d",v[i]);
fprintf(g,"\n");
}
void bkt(int k)
{int i;
for(i=1;i<=n-m+k;i++)
{v[k]=i;
if(valid(k)) if(k==m) afis(k);
else bkt(k+1);
}
}
int main()
{FILE*f=fopen("combinari.in","r");
fscanf(f,"%d %d",&n,&m);
bkt(1);
fclose(f);
fclose(g);
return 0;
}