Cod sursa(job #1679928)

Utilizator zurzic_doruzurzic zeljko zurzic_doru Data 8 aprilie 2016 13:13:35
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

void BKT(int poz, int n, int sol[])
{
	bool ok; int i,j;
	if ( poz == n + 1 )
	{
		for ( i = 1; i <= n; i++ )
			printf("%d ", sol[i]);
		printf("\n");
	}

	for ( i = 1; i <= n; i++ )
	{
		ok = true;
		for ( j = 1; j <= poz; j++ )
			if ( sol[j] == i )
			{
				ok = false;
				break;
			}
		if ( ok )
		{
			sol[poz] = i;
			BKT(poz+1, n, sol);
		}
	}
}

int main()
{
	int n, i, sol[10];
	freopen("permutari.in","r",stdin);
	freopen("permutari.out","w",stdout);
	scanf("%d", &n);
	for ( i = 1; i <= n; i++ )
		sol[i] = 0;
	BKT(1, n, sol);
}