Cod sursa(job #2231143)

Utilizator BloodRainBurceanu Gabriel BloodRain Data 13 august 2018 10:34:43
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>

using namespace std;

static vector<int> v; 
static bool test = false;


static ifstream in("submultimi.in");
static ofstream out("submultimi.out");

void print() 
{
	for (uint32_t i = 0; i < v.size(); ++i)
		out << v[i] << " ";
	out << "\n";
}

bool backtrack(int pos, int n)
{
	if (pos == n )
	{
		print();
		return true;
	}
	v[pos] = 0;

	while ( ++v[pos] <= n )
	{
		bool found = false;
		for (int i = pos - 1; i >= 0; --i)
			if (v[pos] == v[i])
			{
				found = true;
				break;
			}

		if ( !found )
			bool res = backtrack(pos + 1, n);
	}
}


int main()
{
	int n;
	in >> n;

	v.resize(n, 0);


	backtrack(0, n);

	return 0;
}