Pagini recente » Cod sursa (job #2866227) | Cod sursa (job #2514818) | Cod sursa (job #2649497) | Cod sursa (job #1861259) | Cod sursa (job #497461)
Cod sursa(job #497461)
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int st[30],k,i,n;
void init()
{
st[k]=0;
}
int succesor()
{
if (st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
int valid()
{
for (i=1;i<k;i++)
if (st[i]==st[k])
return 0;
return 1;
}
int solutie()
{
return (k==n);
}
void tipar()
{
for (i=1;i<=n;i++)
out<<st[i]<<" ";
out<<endl;
}
void bkt()
{
int as;
k=1;
while (k>=1)
{
do
{}
while ((as=succesor()) && (!valid()));
if (as)
{
if (solutie())
tipar();
else
{
k++;
init();
}
}
else
k--;
}
}
int main()
{
in>>n;
bkt();
return 0;
}