Cod sursa(job #949686)
Utilizator | Data | 14 mai 2013 17:32:01 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include<cstdio>
int n,k;
FILE *f;
void backtrack(int x[19],int step,int current)
{
if (step<=k)
{
for (int i=(current+1);i<=(n-k+step);i++)
{
x[step] = i;
backtrack(x,step+1,i);
x[step] = 0;
}
}
else
{
for (int i=1;i<=k;i++)
fprintf(f,"%d ",x[i]);
fprintf(f,"\n");
}
return;
}
int main()
{
int x[19] = {0};
f = fopen("combinari.in","r");
fscanf(f,"%d %d",&n,&k);
fclose(f);
f = fopen("combinari.out","w");
backtrack(x,1,0);
fclose(f);
return 0;
}