Cod sursa(job #593440)

Utilizator qwertyuPeter Eke qwertyu Data 2 iunie 2011 20:28:41
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb

#include <stdio.h>
#include <stdlib.h>

int static n, a[10], b[10];
FILE * f;

void check()
{
	int i,c = 1;
	/*int b[10];
	for (i=1; i<=n; i++) b[i]=0;
	for (i=1; i<=n; i++) b[a[i]]++;*/
	/*for (i=1; i<=n; i++) if (b[i]>1) c=0;*/
	if (c) { for (i=1; i<=n; i++) fprintf(f,"%d ",a[i]); fprintf(f,"\n");}
}

void back(int k)
{
	for (int i=1; i<=n; i++)
	if (b[i] == 0)
	{
		b[i]=1;
		a[k]=i;
		if (k == n) check();
		else back(k+1);
		b[i]=0;
	}
}

int main()
{
	f = fopen("permutari.in","r");
	fscanf(f,"%d",&n);
	fclose(f);
	f = fopen("permutari.out","w");
	back(1);
	fclose(f);
	//system("pause");
	return 0;
}