Pagini recente » Cod sursa (job #2563157) | Cod sursa (job #2563156) | Cod sursa (job #1564934) | Cod sursa (job #2506707) | Cod sursa (job #803041)
Cod sursa(job #803041)
#include<stdio.h>
#include<stdlib.h>
int bun(int *v,int i,int N)
{
int j;
for(j=0;j<i;++j)
if(v[j] == v[i])
return 0;
return 1;
}
int solutie(int *v,int i,int N)
{
if(i == N-1)
return 1;
return 0;
}
void afiseaza(FILE *g,int *v,int N)
{
int i;
for(i=0;i<N;++i)
fprintf(g,"%i",v[i]);
fprintf(g,"\n");
}
void back(int i,int *v,int N,FILE *g)
{
int j;
for(j=1;j<=N;++j)
{
v[i]=j;
if(bun(v,i,N))
if(solutie(v,i,N))
afiseaza(g,v,N);
else back(i+1,v,N,g);
}
}
int main()
{
FILE *f=fopen("permutari.in","rt");
FILE *g=fopen("permutari.out","wt");
int N,*v;
fscanf(f,"%i",&N);
fclose(f);
v=(int *)malloc(N*sizeof(int));
back(0,v,N,g);
return 0;
}