Cod sursa(job #213793)

Utilizator NichiUtiu Nichita Nichi Data 11 octombrie 2008 16:40:30
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream.h>

void Back(int k);
int Ok(int k);
void Afisare();
int x[20], n, Nrsol;
ofstream fout("permutari.out");

int main()
{
	ifstream fin("permutari.in");
	clrscr();
	fin >> n;
	fin.close();
	Back(1);

	return 0;
}

void Back(int k)
{
	for(int i = 1; i <= n; i++)
	{
		x[k] = i;   
		if(Ok(k))  
			if(k == n) 
				Afisare();
			else Back(k + 1);
	}
}
int Ok(int k)
{
	for(int i = 1; i < k; i++)
		if(x[i] == x[k]) return 0;
	return 1;
}
void Afisare()
{
	++Nrsol;
	for(int i = 1; i <= n; i++)
		fout << x[i]<< " ";
	fout << '\n';
}