Cod sursa(job #1098560)

Utilizator negrea.andreiAndrei Negrea negrea.andrei Data 4 februarie 2014 21:36:00
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<fstream>
using namespace std;
#define N 20

ifstream f("permutari.in");
ofstream g("permutari.out");

void print(int A[], int n)
{
	for(int i = 1; i <= n; i++)
	{
		g << A[i] << " ";
	}
	g << "\n";
}

void perm(int A[], int i, int n, int frecv[])
{
	for(int j = 1; j <= n; j++)
	{
		A[i] = j;
		if (!frecv[j])
		{
			frecv[j]++;
			if (i == n)
			{
				print(A, n);
			}
			else
			{
				perm(A, i + 1, n, frecv);
			}
			frecv[j]--;
		}
	}
}

int main()
{
	int A[N], n, frecv[N];
	f >> n;
	for(int i = 0; i <=n; i++)
	{
		frecv[i] = 0;
	}
	perm(A, 1, n, frecv);
}