Pagini recente » Cod sursa (job #2123584) | Cod sursa (job #2801462) | Cod sursa (job #927639) | Cod sursa (job #619812) | Cod sursa (job #560413)
Cod sursa(job #560413)
#include <stdio.h>
FILE *in,*out;
int n,k,global[100];
void tipar(int nivel);
bool valid(int nivel);
void back(int nivel);
int main()
{
in=fopen("combinari.in","rt");
out=fopen("combinari.out","wt");
fscanf(in,"%d%d",&n,&k);
back(0);
fclose(in);
fclose(out);
return 0;
}
void back(int nivel)
{
int i;
for(i=1;i<=n;i++)
{
global[nivel]=i;
if(valid(nivel))
{
if(nivel==k-1)
tipar(nivel);
else
back(nivel+1);
}
}
}
bool valid(int nivel)
{
if(nivel>0)
if(global[nivel]<=global[nivel-1])
return false;
return true;
}
void tipar(int nivel)
{
int i;
for(i=0;i<k;i++)
fprintf(out,"%d ",global[i]);
fprintf(out,"\n");
}