Cod sursa(job #715050)

Utilizator mattapoMatei Apolzan mattapo Data 16 martie 2012 15:58:18
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
int n,sol[10];
bool car[10];
void prelucrare (void)
{
	int i;
	for (i=1;i<=n;i++)
		printf("%d ",sol[i]);
	printf("\n");
}
bool valid (int x)
{
	int i;
	for (i=1;i<x;i++)
	{
		if (sol[i]==sol[x])
			return false;
	}
	return true;
}
void bkt (int p)
{
	int i;
	if (p-1==n)
	{
		prelucrare();
		return;
	}
	for (i=1;i<=n;i++)
	{
		sol[p]=i;
		if(car[sol[p]])
			continue;
		car[sol[p]]=true;
		bkt(p+1);
		car[sol[p]]=false;
	}
}
int main ()
{
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d",&n);
	bkt(1);
	return 0;
}