Cod sursa(job #177204)

Utilizator vladcyb1Vlad Berteanu vladcyb1 Data 12 aprilie 2008 14:00:19
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>
#include <stdlib.h>

#define NMAX 9
#define FIN "permutari.in"
#define FOUT "permutari.out"

int SEL[NMAX], ST[NMAX], N;

FILE * fin, * fout;

void back( int niv )
{
	int i;
	if ( niv > N )
	{
		for( i = 1; i <= N; i++ )
			fprintf( fout, "%d ", ST[i]);
		fprintf( fout, "\n" );
	}
	else
	
		for( i = 1; i <= N; i++ )
			if( !SEL[i] )
			{
				ST[niv] = i;
				SEL[i] = 1;
				back( niv + 1);
				SEL[i] = 0;
			}
}

int main()
{
	fin = fopen( FIN, "r" );
	fout = fopen( FOUT, "w" );
	fscanf( fin, "%d", &N );
	back( 1 );
	fclose( fin );
	fclose( fout );
	return 0;
}