Cod sursa(job #1990705)

Utilizator nita_liviuNita Liviu-Andrei nita_liviu Data 12 iunie 2017 23:44:14
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.9 kb
#include<stdio.h>

int valid(int k,int v[],int n)
{int i;
for(i=1;i<=k-1;i++)

if(v[i]==v[k])
	return 0;
	return 1;
}
int solutie(int k,int v[],int n)
{
	if(k==n)
	return 1;
	return 0;
	
	
}

void afisare(int k,int v[],int n, FILE *out)
{int i;
for(i=1;i<=k;i++)

	fprintf(out, "%d ", v[i]);
	
	fprintf(out,"\n");
}

void BK(int k,int v[],int n,FILE *out)
{int i;


for(i=1;i<=n;i++)
{v[k]=i;
	if(valid(k,v,n))
	{if(solutie(k,v,n))
		afisare(k,v,n,out);
		else
		BK(k+1,v,n,out);
		
	}
}


}

int main()







{ 




char input_filename[] = "permutari.in";

FILE *in = fopen(input_filename,"rt");

if(in==NULL){
	
	fprintf(stderr, "ERROR");
	return -1;
		
}


int n;
fscanf(in, "%d", &n);
fclose(in);

int v[20];
char output_filename[]="permutari.out";

FILE *out=fopen(output_filename,"wt");


BK(1,v,n,out);




return 0;





}