Cod sursa(job #659357)

Utilizator stanescu_teodorStanescu Teodor stanescu_teodor Data 10 ianuarie 2012 16:00:28
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
using namespace std;
	ifstream f ("permutari.in");
	ofstream g ("permutari.out");
int n,sol[11],b[11];

void afis (int n)
{
	for (int i=1; i<=n; i++)
		g <<sol[i]<<' ';
	g <<endl;
}

void backtr (int k)
{
	int i,j;
	bool ok;
	if (k-1 == n) afis (n);
	else
/*	{
		for (i=1; i<=n; i++)
		{
			ok=true;
			for (j=1; j<=k; j++)
				if (sol[j]==i) 
				{
					ok=false;
					break;
				}
			if (ok) 
			{
				sol[k+1]=i;
				backtr (k+1);
			}
		}
	}*/
		for(i=1;i<=n;i++)
			if (!b[i])
			{
				sol[k]=i;
				b[i]=1;
				backtr(k+1);
				b[i]=0;
			}
}

int main ()
{
	f >>n;
	backtr (1);
	return 0;
}