Cod sursa(job #534875)

Utilizator radubbRadu B radubb Data 16 februarie 2011 13:42:36
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
using namespace std;

int n, st[19];

inline void citire()
{
	freopen("permutari.in","r",stdin);
	scanf("%d", &n);
}

inline void afisare()
{
	for(int i=1; i<=n; i++)
		printf("%d ", st[i]);
	printf("\n");
}

bool valid(int x, int k)
{
	for(int i=1; i<k; i++)
		if(st[i] == x)
			return 0;
	return 1;
}

void bkt(int k)
{
	for(int i=1; i<=n; i++)
	{
		if(valid(i, k))
		{
			st[k] = i;
			if(k==n)
				afisare();
			else
				bkt(k+1);
		}
	}
}

int main()
{
	freopen("permutari.out","w",stdout);
	citire();
	bkt(1);
	return 0;
}