Cod sursa(job #419321)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 17 martie 2010 12:01:21
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>

FILE *f1 = fopen("permutari.in","r");
FILE *f2 = fopen("permutari.out","w");

int n;
int v[8];

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

void back(int k){
	
	int i;
	if(k == n + 1){
		for(i=1; i<=n; i++)
			fprintf(f2,"%d ",v[i]);
		fprintf(f2,"\n");
		return;
	}
	
	for(i=1; i<=n; i++){
		v[k] = i;
		if(cond(k))
			back(k + 1);
	}	
}

int main(){
	
	fscanf(f1,"%d",&n);
	
	back(1);	
	
	fclose(f1);
	fclose(f2);
	
	return 0;
}