Cod sursa(job #980966)

Utilizator petrutsxMihaela Petruta Gaman petrutsx Data 6 august 2013 01:00:34
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<stdio.h>
#define NMAX 10

short sol[NMAX], vis[NMAX];
short N;

void print(FILE *pg){
	short i;
	for(i = 1; i <= N; i++)
		fprintf(pg, "%hd ", sol[i]);

	fprintf(pg, "\n");
}

void Back(short k, FILE *pg){
	if(k == N+1)
		print(pg);
	else
		for(short i = 1; i <= N; i++)
			if(vis[i] == 0){
				sol[k] = i;
				vis[i] = 1;
				Back(k+1, pg);
				vis[i] = 0;
			}
}

int main(){
	FILE *pf, *pg;
	pf = fopen("permutari.in", "r");
	pg = fopen("permutari.out", "w");

	fscanf(pf, "%hd", &N);
	Back(1, pg);

	fclose(pf);
	fclose(pg);

	return 0;
}