Cod sursa(job #404693)

Utilizator diehardNasturel Gabriel diehard Data 26 februarie 2010 15:41:53
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream.h>

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

int st[9],n;

int valid(int k){

int i;
for(i=1;i<k;i++)
	if(st[i]==st[k]) return 0;

return 1;
}

void solutie(){
int i;
for(i=1;i<=n;i++)
	fout<<st[i]<<" ";
fout<<'\n';
}

void back(){
int up,k=1;
st[k]=0;
while(k){
	up=0;
	while(!up&&st[k]<n){
		st[k]++;
		if(valid(k)) up=1;
		}
	 if(up)
		if(n==k) solutie();
		else{
			k++;
			st[k]=0;
		}
	 else k--;

}

}

int main(){
fin>>n;
back();

return 0;
}