Cod sursa(job #1420609)

Utilizator cosgbCosmin cosgb Data 18 aprilie 2015 19:26:30
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <bitset>
#include <vector>

using namespace std;

ofstream out;

void permutations(int n, int k, vector<int> &vals, bitset<8> &used)
{
	if (used.count() == n) {
		for (int i = 0; i < vals.size(); i++) {
			out << vals[i] << " ";
		}
		out << "\n";
		return;
	}

	for (int i = 1; i <= n; i++) {
		if (used[i])
			continue;
		used[i] = 1;
		vals[k] = i;
		permutations(n, k + 1, vals, used);
		used[i] = 0;
	}
}

int main()
{
	ifstream in;

	in.open("permutari.in");
	out.open("permutari.out");
	
	int n;
	bitset<8> used;
	in >> n;
	vector<int> vals(n);
	permutations(n, 0, vals, used);

	in.close();
	out.close();
	return 0;
}