Pagini recente » Cod sursa (job #1650468) | Cod sursa (job #2473956) | Cod sursa (job #2139008) | Cod sursa (job #1473630)
#include<stdio.h>
#include<malloc.h>
int N,*sol;
bool verifica(int i)
{
for(int k=0;k<i;k++)
if(sol[i]==sol[k])
return false;
return true;
}
void bt(int i,FILE* f)
{
if(i==N)
{
for(int k=0;k<N;k++)
fprintf(f,"%d ",sol[k]);
fprintf(f,"\n");
return;
}
for(int p=1;p<=N;p++)
{
sol[i]=p;
if(verifica(i))
bt(i+1,f);
}
}
int main()
{
FILE* f1=fopen("permutari.in","r");
FILE* f=fopen("permutari.out","w");
if(!f || !f1)
{
printf("eroare deschidere fisier!\n");
return -1;
}
fscanf(f1,"%d",&N);
sol=(int*)malloc(N*sizeof(int));
bt(0,f);
free(sol);
return 0;
}