Cod sursa(job #590129)

Utilizator t2010tZaharia Teofil t2010t Data 15 mai 2011 17:04:55
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
using namespace std;

ifstream in("permutari.in");
ofstream out("permutari.out");

int n,global[8];

void tipar(int nivel);
bool valid(int nivel);
void back(int nivel);

int main()
{
in>>n;
back(0);

in.close();
out.close();
return 0;
}

void back(int nivel)
{
int i1;
for(i1=1;i1<n+1;i1++)
	{
	global[nivel] = i1;
	if(valid(nivel))
		{
		if(nivel == n-1)
			tipar(nivel);
		else
			back(nivel+1);
		}
	}
}

bool valid(int nivel)
{
int i1;
if(nivel>0)
	for(i1=0;i1<nivel;i1++)
		if(global[nivel] == global[i1])
			return false;
return true;
}

void tipar(int nivel)
{
int i1;
for(i1=0;i1<nivel+1;i1++)
	out<<global[i1]<<' ';
out<<'\n';
}