Cod sursa(job #528781)

Utilizator gabriela.rGabriela gabriela.r Data 3 februarie 2011 14:19:33
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>

int sol[10], ok[10],n;
FILE *f, *g;

void scriere(void) {
	int i;
	for (i=1; i<=n; i++) fprintf(g,"%d ",sol[i]);
	fprintf(g,"\n");
}

void gen_perm(int k){
	int i;
	if (k>n) scriere();
	else
		for (i=1; i<=n; i++) 
			if (ok[i]==0) {
				sol[k]=i;
				ok[i]=1;
				gen_perm(k+1);
				ok[i]=0;
			}
}

int main(void){
	int i;
	f=fopen("permutari.in","r");
	g=fopen("permutari.out","w");
	fscanf(f,"%d",&n);
	for (i=1; i<=n; i++) ok[i]=0; 
	gen_perm(1);
	fclose(f);
	fclose(g);
	return 0;
}