Cod sursa(job #2286856)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 20 noiembrie 2018 21:37:46
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

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

const int MAXN = 8;

int n;
int sol[MAXN + 1];


void bck(int k) {
	if (k > n) {
		for (int i = 1; i <= n; ++ i)
			out << sol[i] << ' ';
		out << '\n';
	}
	else {
		for (int i = 1; i <= n; ++ i) {
			bool ok = 1;
			for (int j = 1; j < k && ok; ++ j) {
				if (sol[j] == i)
					ok = false;
			}
			if (ok) {
				sol[k] = i;
				bck(k + 1);
				sol[k] = 0;
			}
		}
	}
}

int main() {
	in >> n;
	bck(1);
	return 0;
}