Pagini recente » Cod sursa (job #2141672) | Cod sursa (job #2593987) | Cod sursa (job #317145) | Cod sursa (job #765746) | Cod sursa (job #1161106)
#include <stdio.h>
#include <stdlib.h>
//n=pozitia
//viz[100]-vectorul de vizita
//N=k
FILE *f,*g;
void backtracking (int n,int N,int x[10], int viz[10])
{
int i;
if(n==(N+1))
{
for(i=1;i<=N;i++)
{
fprintf(g,"%d ",x[i]);
}
fprintf(g,"\n");
return;
}
for(i=1;i<=N;i++)
{
if(viz[i]==0)
{
x[n]=i;
viz[i]=1;
backtracking(n+1,N,x,viz);
viz[i]=0;
}
} return;
}
int main()
{
f=fopen("permutari.in","r");
g=fopen("permutari.out","w");
int i,N,x[10],viz[10];
fscanf(f,"%d",&N);
for(i=0;i<=N;i++)
viz[i]=0;
backtracking(1,N,x,viz);
fclose(f);
fclose(g);
return 0;
}