Pagini recente » Cod sursa (job #2256138) | Rating Lungu Roxana (lunguroxana) | Cod sursa (job #2964420) | Cod sursa (job #1440160) | Cod sursa (job #2274286)
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int st[15],viz[15],k,n,v[15];
void init()
{
st[k]=0;
}
int succesor()
{
if(st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
int valid()
{
if(viz[st[k]]==0)
{
viz[st[k]]=1;
return 1;
}
return 0;
}
int solutie()
{
return k==n;
}
void print()
{
int i;
for(i=1;i<=n;i++)
fout<<st[i]<<" ";
fout<<endl;
}
void backt()
{
int es,ev;
k=1;
init();
while(k>0)
{
do
{
es=succesor();
if(es)
ev=valid();
}while(es && !ev);
if(es)
if(solutie())
{
print();
viz[st[k]]=0;
}
else
{
k++;
init();
}
else
{
k--;
viz[st[k]]=0;
}
}
}
int main()
{
int i;
fin>>n;
backt();
return 0;
}