Cod sursa(job #2097072)

Utilizator TheShark98Ionescu Cristian Andrei TheShark98 Data 30 decembrie 2017 14:41:54
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<iostream>
#include<fstream>

void citire(int &x)
{
	std::ifstream read("permutari.in");
	read >> x;
	read.close();
}

std::ofstream write("permutari.out", std::fstream::app);

void afisare(int v[], int k)
{
	for (int i = 0; i < k; i++)
	{
		write << v[i] << ' ';
	}
	write << std::endl;
}

void genPermutari(int v[], int x[], int n, int k)
{
	if (k == n)
		afisare(v, k);
	else
	{
		for (int i = 1; i <= n; i++)
		{
			if (!x[i])
			{
				x[i] = 1;
				v[k] = i;
				genPermutari(v, x, n, k + 1);
				v[k] = 0;
				x[i] = 0;
			}
		}
	}
}

int main()
{
	int v[100], frec[10] = { 0 }, n;
	citire(n);
	genPermutari(v, frec, n, 0);
	write.close();
	return 0;
}