Cod sursa(job #278801)

Utilizator xulescuStefu Gabriel xulescu Data 12 martie 2009 15:28:59
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
//permutari de n
#include <fstream>

int n,st[11];
ofstream g("permutari.out");

int valid(int p){
	for(int i=1;i<p;i++) if(st[i]==st[p]) return 0;
	return 1;
}

int final(int p){
	return p==n;
}

void afisare(int p){
	for(int i=1;i<=p;i++) g<<st[i]<<" ";
	g<<endl;
}

void back(){
	int p=1;
	st[p]=0;
	while(p>0){
		if(st[p]<n){
			st[p]++;
			if(valid(p)){
				if(final(p)) afisare(p);
				else{ p++; st[p]=0; }
			}
		}
		else p--;
	}
}

int main(){
	ifstream f("permutari.in");
	f>>n;
	f.close();

	back();

	g.close();
	return 0;
}