Cod sursa(job #485501)

Utilizator avram_florinavram florin constantin avram_florin Data 18 septembrie 2010 16:30:00
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
// sa incercam si un back recursiv , si vom incerca permutarile

#include<fstream>
#include<cstdio>

using namespace std;
ifstream f ("permutari.in");
ofstream g ("permutari.out");

int N,x[100];

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

void print(int k)
{
	int i;
	for( i = 1 ; i <= k ; i++)
		g << x[i] << ' ';
	g << '\n';
}

void back(int k)
{
	x[k] = 0;
	if( k )
		while( x[k] < N && k <= N )
			{
				x[k]++;
				if( valid(k) )
					if( k == N )
						print(k);
						else
						back(k+1);
			}
}

int main ()
{
	f >> N;
	back(1);
	f.close();
	g.close();
	return 0;
}