Cod sursa(job #749962)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 19 mai 2012 19:43:19
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<stdio.h>
#define NMAX 10
int v[ NMAX ], m[ NMAX ], n, i, j, k;
FILE *g = fopen("permutari.out", "w");
void read()
{
	FILE *f = fopen("permutari.in", "r");
	fscanf(f, "%d", &n);
	fclose(f);
}
void write();

void back(int k)
{
	int i;
	if(k > n)
		write();
	else
	{
		for(i = 1; i <= n; i++)
			if(!m[i])
			{
				v[k] = i, m[i] = 1;
				back(k+1);
				m[i] = 0;
			}
	}
}

void write()
{
	int i;
	for(i = 1; i <= n; i++)
		fprintf(g, "%d ", v[i]);
	fprintf(g, "\n");
}
int main()
{
	read();
	back(1);
	fclose(g);
	return 0;
}