Cod sursa(job #702546)

Utilizator swim406Teudan Adina swim406 Data 1 martie 2012 22:45:09
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
using namespace std;
int st[10],n,p;
ifstream f("permutari.out");
ofstream g("permutari.out");
void init() {
	int i;
	f>>n;
	for(i=1;i<=n;i++) st[i]=0;
}
int valid(int p) {
	int ok=1,i;
	for(i=1;i<p;i++) if(st[p]==st[i]) ok=0;
	return ok;
}
void tipar() {
	int i;
	for(i=1;i<=n;i++) g<<st[i]<<" ";
	g<<endl;
}
void bktr(int p) {
	int i;
	for(i=1;i<=n;i++) {
		st[p]=i;
		if(valid(p)) 
			if(p==n) tipar();
			else bktr(p+1);
	}
}
int main() {
	init();
	bktr(1);
	return 0;
}