Pagini recente » Cod sursa (job #2607529) | Cod sursa (job #1795335) | Cod sursa (job #485354) | Cod sursa (job #1974699) | Cod sursa (job #2285523)
#include <iostream>
#include <fstream>
using namespace std;
ofstream fo("permutari.out");
ifstream fi("permutari.in");
int sol[10],nivel,n;
void afisare()
{
for(int i=1;i<=n;i++)
fo<<sol[i]<<" ";
fo<<"\n";
}
bool ebun(int nivel)
{
if(nivel==1)
return true;
for(int i=1;i<nivel;i++)
if(sol[i]==sol[nivel])
return false;
return true;
}
bool esol(int nivel)
{
if(nivel==n)
return true;
return false;
}
void BackTracking(int nivel)
{
for(int i=1;i<=n;i++)
{
sol[nivel]=i;
if(ebun(nivel)==true)
{
if(esol(nivel)==true)
afisare();
else
BackTracking(nivel+1);
}
}
}
int main()
{
fi>>n;
BackTracking(1);
fo.close();
fi.close();
return 0;
}