Pagini recente » Cod sursa (job #1285819) | Cod sursa (job #1304057) | Cod sursa (job #2565261) | Cod sursa (job #87632) | Cod sursa (job #394019)
Cod sursa(job #394019)
#include<fstream.h>
#include<iostream.h>
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,v[8];
void init(int i)
{
v[i]=0;
}
int succesor(int i)
{
if(v[i]<n)
{
v[i]++;
return 1;
}
return 0;
}
int solutie(int i)
{
return i==n;
}
int valid(int i)
{
for(int j=1;j<i;j++)
{
if(v[i]==v[j]) return 0;
}
return 1;
}
void afisare(int i)
{
for(int j=1;j<=i;j++)
{
g<<v[i]<<' ';
}
g<<endl;
g.close();
}
void bkt()
{
int i=1;
init(i);
while(i>=1)
{
int gasit;
do{}while((gasit=succesor(i)) && !valid(i));
if(gasit)
if(solutie(i))
{
afisare(i);
}
else{i++;init(i);}
else i--;
}
}
int main()
{
f>>n;
bkt();
return 0;
}