Cod sursa(job #710627)

Utilizator gener.omerGener Omer gener.omer Data 10 martie 2012 15:02:26
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <vector>
#include <iostream>

using namespace std;
#define NMAX 16

int N;
bool taken[NMAX];
vector<int> v;

void print(){
	for(unsigned i = 0; i < v.size(); ++i)
		cout << v[i] << " ";
	cout << endl;
}

void solve(int pos){
	if(pos == N){
		print();
		return;
	}
	for(int i = 1; i <= N; ++i)
		if(!taken[i]){
			taken[i] = true;
			v[pos] = i;
			solve(pos+1);
			taken[i]= false;
		}
}

int main(){
	freopen("permutari.in", "r", stdin);
	freopen("permutari.out", "w", stdout);
	cin >> N;
	v.resize(N);
	solve(0);
	return 0;
}