Cod sursa(job #983756)

Utilizator cosmo0093Raduta Cosmin cosmo0093 Data 12 august 2013 17:22:37
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>

void print(std::ostream& out, std::vector<int>& myV)
{
	for(unsigned i = 0; i < myV.size(); i++)
		out << myV[i] << ' ';
	out << '\n';
}

void bt(std::ostream& out, std::vector<int>& myV, int nV)
{
	if(myV.size() == nV) 
	{
		print(out, myV);
		return;
	}
	int i = 1;
	while(i <= nV)
	{
		bool ok = true;
		for(unsigned j = 0; j < myV.size(); j++)
			if(myV[j] == i)
			{
				ok = false;
				break;
			}
		if(ok)
		{
			myV.push_back(i);
			bt(out, myV, nV);
			myV.pop_back();
		}
		i++;
	}
}

int main()
{
	std::ifstream in("permutari.in");
	std::ofstream out("permutari.out");
	
	int nV;
	in >> nV;
	
	std::vector<int> myV;
	
	bt(out, myV, nV);
	
	return 0;
}