Cod sursa(job #195862)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 22 iunie 2008 18:28:07
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
FILE *f=fopen("permutari.out","w");
int s[10],n;

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

void afis(){
int i;
for(i=1;i<=n;++i)
	fprintf(f,"%d ",s[i]);
fprintf(f,"\n");
}
void bkt(){
int k,up;
k=1;s[k]=0;
while(k){
	up=0;
	while(!up&&s[k]<n){
		s[k]++;
		if(valid(k)) up=1;
		}
	if(up)
		if(k==n) afis();
		else {k++;s[k]=0;}
	else k--;
	}
}



int main(){
freopen("permutari.in","r",stdin);
scanf("%d",&n);
bkt();
fclose(f);
return 0;
}