Cod sursa(job #1098527)

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

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

void print(short A[], short n)
{
	for(int i = 1; i <= n; i++)
	{
		g << A[i] << " ";
	}
	g << endl;
}
void perm(short A[], short i, short n, short 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()
{
	short A[N], n, frecv[N];
	f >> n;
	for(int i = 0; i <= n; i++)
	{
		frecv[i] = 0;
	}
	perm(A, 1, n, frecv);
}