Cod sursa(job #651114)

Utilizator kinda_93kinda asfour kinda_93 Data 19 decembrie 2011 20:59:44
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.64 kb
#include "stdio.h"
#include "malloc.h"

#define MAXLEN 8
typedef unsigned char BYTE;


FILE *f,*g;
BYTE *v,n;

void bk(BYTE nivel)
{
	BYTE i,j,ok;
	if(nivel == n)
	{
		for(i = 0;i<n-1;i++)
			fprintf(g,"%d ",v[i]);
		fprintf(g,"%d\n",v[n-1]);
		return;
	}
	for(i=1;i<=n;i++)
	{
		ok = 1;
		for (j=0;j<nivel;j++)
			if(v[j]==i)
				ok = 0;
		if(ok)
		{
			v[nivel]=i;
			bk(nivel+1);
		}
	}
}
int main()
{
	f = fopen("permutari.in","r");
	fscanf(f,"%d",&n);
	g = fopen("permutari.out","w");
	v = (BYTE *)malloc(MAXLEN*sizeof(BYTE));
	if(v == NULL)
		return(1);
	bk(0);
	
	
	fclose(f);
	fclose(g);
	return 0;
}