Cod sursa(job #271945)

Utilizator Roby_darkstarUrian Robert Florin Roby_darkstar Data 6 martie 2009 09:40:23
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
void BK(int k);
int valid( int k);
int solutie( int k);
int n , v[20];
void afisare();
int main()
 {
	 freopen("permutari.in","r",stdin);
	 freopen("permutari.out","w",stdout);
	 scanf("%d",&n);
	 BK(1);
}
void BK( int k)
{ int i;
  for(i=1;i<=n;i++)
	 { v[k]=i;
	   if(valid(k))
	   {if(solutie(k))
			afisare();
	     else
			 BK(k+1);
	   }}
}
void afisare()
{ int i;
	for(i=1;i<=n;i++)
        printf("%d ",v[i]);
printf("\n");
}
int valid( int k)
{ int i;
	for(i=1;i<k;i++)
	{if(v[i]==v[k])
		return 0;}
 return 1;
}
int solutie(int k)
{ return k==n;
}