Cod sursa(job #442327)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 14 aprilie 2010 10:01:12
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

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

int sol[1<<4];
int n,p;

bool valid(int);

void bkt(int p){
	int i;
	if(p==n+1){
		for(i=1;i<=n;i++){
			out<<sol[i]<<" ";
		}
		out<<"\n";
		return;
	}
	for(i=1;i<=n;i++){
		sol[p]=i;
		if(valid(p)){
			bkt(p+1);
		}
	}
}

bool valid(int x){
	int i;
	for(i=1;i<=(x-1);i++){
		if(sol[x-i]==sol[x]){
			return 0;
		}
	}
	return 1;
}

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