Cod sursa(job #145818)

Utilizator vlad.maneaVlad Manea vlad.manea Data 29 februarie 2008 15:48:43
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

int N, Q[16], u[16];

void write()
{
	int i;
	for (i = 1; i < N; ++i)
		printf("%d ", Q[i]);

		printf("%d\n", Q[i]);
}

void back(int k)
{
	int i;
	if (k == N+1)
		write();
	else
	{
		for (i = 1; i <= N; ++i)
			if (!u[i])
			{
				Q[k] = i;
				u[i] ++;
				back(k+1);
				u[i] --;
			}
	}
}

int main()
{
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);

	scanf("%d", &N);

	back(1);

	return 0;
}