Cod sursa(job #1741218)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 13 august 2016 12:58:30
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <iostream>
#include <vector>
 
using namespace std;
int n;

void back(int k, vector<int> &vect, ofstream &outfile, vector<bool> &valid) {
	if (k == n) {
		for (int i = 0; i < n; i ++)
			outfile << vect[i] << " ";
		outfile << endl;
		return;
	}
	else
		for (int i = 1; i <= n; i ++) {
			if (!valid[i - 1]) {
				vect.push_back(i);
				valid[i - 1] = true;
				back(k + 1, vect, outfile, valid);
				valid[i - 1] = false;
				vect.pop_back();
			}
		}
}

int main() {
	ifstream infile; 
   	infile.open("permutari.in");
	ofstream outfile;
	outfile.open("permutari.out");

	infile >> n;
	vector<int> vect;
	vector<bool> valid(n, false);		 
	back(0, vect, outfile, valid);

	return 0;
}