Cod sursa(job #550063)

Utilizator andrei_stoicaStoica Andrei Florian andrei_stoica Data 9 martie 2011 11:02:55
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
const int N=8;
int n, sol[N];
bool marcat[N];
void prelucrare()
{
	for(int i=1;i<=n;i++)
		printf("%d ", sol[i]);
	printf("\n");
}
void bkt(int p)//completeaza sol[p]
{
	if(p-1==n)//conditia de terminare
	{
		prelucrare();
		return;
	}
	//daca nu am terminat, tb completat sol[p]
	for(int i=1;i<=n;i++)
	{
		if(!marcat[i])
		{
			sol[p]=i;
			marcat[i]=true;
			bkt(p+1);
			marcat[i]=false;
		}
	}
}
int main()
{
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);
	scanf("%d", &n);
	bkt(1);
	return 0;
}