Cod sursa(job #1474247)

Utilizator Impaler_009Mihai Nitu Impaler_009 Data 21 august 2015 16:56:53
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

int n;
vector<int> sol, missing;

void back(int i)
{
	if (i == n+1)
	{
		for (int j = 0; j < n; ++j)
			fout << sol[j] << " ";
		fout << "\n";
		return;
	}

	for (int j = 0; j < missing.size()-i+1; ++j)
	{
		sol.push_back(missing[j]);
		swap(missing[j], missing[missing.size()-i]);
		back(i+1);
		swap(missing[j], missing[missing.size()-i]);
		sol.pop_back();
	}
}

int main()
{
    fin >> n;

    for (int i = 1; i <= n; ++i)
		missing.push_back(i);
    back(1);
}