Pagini recente » Rating Alin Toma (AlinToma) | Cod sursa (job #188887) | Rating Florea Larisa Elena (larisa257) | Cod sursa (job #531182) | Cod sursa (job #871598)
Cod sursa(job #871598)
#include <stdio.h>
#include <stdlib.h>
#define MAX 19
unsigned int sol[MAX], used[MAX];
unsigned int n, k;
FILE *fin, *fout;
void printSol(unsigned int length)
{
unsigned int i;
for (i=1; i<=length; i++)
{
fprintf(fout, "%d ", sol[i]);
}
fprintf(fout, "\n");
}
void genSol(unsigned int step)
{
unsigned int i;
if (step == k+1)
{
printSol(k);
}
else
{
for (i=sol[step-1]+1; i<=n; i++)
{
if (!used[i])
{
used[i] = 1;
sol[step] = i;
genSol(step+1);
used[i] = 0;
}
}
}
}
int main()
{
fin = fopen("combinari.in", "r");
fout = fopen("combinari.out", "w");
if (!fin || !fout || fscanf(fin, "%d %d", &n, &k) != 2)
{
return 1;
}
genSol(1);
return 0;
}