Cod sursa(job #2065781)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 14 noiembrie 2017 10:34:10
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <cstring>
#include <vector>
using namespace std;

const int nmax = 9;
bool used[nmax];
int N;

void write(const vector<int>& v, ofstream& out)
{
	int len = v.size();
	
	for(int i = 0;i < len;++i)
	{
		out<<v[i]<<" ";
	}
	out<<"\n";
}

void gen(int k, vector<int>& v, ofstream& out)
{
	if(k == N)
	{
		write(v, out);
		return;
	}
	
	for(int i = 1;i <= N;++i)
	{
		if(!used[i])
		{
			v.push_back(i);
			used[i] = true;
			gen(k + 1, v, out);
			used[i] = false;
			v.pop_back();
		}
	}
}

int main()
{
	ifstream in("permutari.in");
	ofstream out("permutari.out");
	
	in >> N;
	vector<int> v;
	gen(0, v, out);
}