Cod sursa(job #561225)

Utilizator sebii_cSebastian Claici sebii_c Data 19 martie 2011 09:01:53
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdbool.h>
#define MAX 9
#define INFILE "permutari.in"
#define OUTFILE "permutari.out"

int a[MAX];
int N;

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

void permutari(int k)
{
	int i, j;
	bool flag;
	if (k >= N)
		afisare();
	else
	for (i=1; i<=N; ++i) {
		flag = true;
		for (j=1; j<=k; ++j)
			if (a[j] == i) {
				flag = false;
				break;
			}
		if (flag) {
			a[k+1] = i;
			permutari(k+1);
		}
	}
}

int main()
{
	freopen(INFILE, "r", stdin);
	freopen(OUTFILE, "w", stdout);
	scanf("%d", &N);
	permutari (0);
	return 0;
}