Cod sursa(job #650813)

Utilizator andreioneaAndrei Onea andreionea Data 18 decembrie 2011 23:31:32
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#define INFILE "permutari.in"
#define OUTFILE "permutari.out"
using namespace std;

ifstream fin(INFILE);
ofstream fout(OUTFILE);

void back(int k, int n, char *v, bool *marked)
{
	if (n == k) {
		for (int i = 0; i<n; ++i)
			fout << 1 + v[i] << " ";
		fout << endl;
	}
	else 
		for (int i = 0; i<n; ++i)
			if (!marked[i]) {
				marked[i] = true;
				v[k] = i;
				back(k+1, n, v, marked);
				marked[i] = false;
				
			}
}
int main()
{
	int n;
	char *v;
	bool *marked;
	fin >> n;
	fin.close();
	v = new char[n];
	marked = new bool[n];
	back(0, n, v, marked);
	delete v;
	delete marked;
	fout.close();
	return 0;
}