Pagini recente » Cod sursa (job #2215790) | Cod sursa (job #1750665) | Cod sursa (job #374553) | Cod sursa (job #716751) | Cod sursa (job #1523189)
#include<stdlib.h>
#include<stdio.h>
int a[20], n, viz[20];
void solutie(FILE* out)
{
int i;
for(i = 1; i <= n; i++)
fprintf(out,"%d ", a[i]);
fprintf(out,"\n");
}
void back(int top, FILE* out)
{
int i;
if(top == n + 1)
solutie(out);
else
for(i = 1; i <=n; i++)
if(!viz[i])
{
viz[i] = 1;
a[top] = i;
if(!fork())
{
back(top + 1, out);
exit(0);
}
else
{
wait(NULL);
viz[i] = 0;
}
}
}
int main()
{
FILE* in = fopen("permutari.in","r");
FILE* out = fopen("permutari.out","w");
//printf("N = ");
fscanf(in,"%d",&n);
back(1,out);
return 0;
}