Cod sursa(job #710630)

Utilizator gener.omerGener Omer gener.omer Data 10 martie 2012 15:06:51
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <vector>
#include <iostream>
#include <cstdio>

using namespace std;
#define NMAX 16

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

void print(){
	for(unsigned i = 0; i < v.size(); ++i)
		printf("%d ", v[i]);
	printf("\n");
}

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);
	scanf("%d", &N);
	v.resize(N);
	solve(0);
	return 0;
}