Pagini recente » Cod sursa (job #614996) | Cod sursa (job #1035077) | Cod sursa (job #25086) | Cod sursa (job #2135022) | Cod sursa (job #218710)
Cod sursa(job #218710)
#include<stdio.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int n,k,st[10];
void init()
{
st[k]=0;
}
int succesor()
{
if(st[k]<n)
{
st[k]++;
return 1;
}
else
return 0;
}
int valid()
{
for(int i=1;i<k;i++)
if(st[k]==st[i])
return 0;
return 1;
}
void tipar()
{
for(int i=1;i<=n;i++)
printf("%d ", st[i]);
printf("\n");
}
int solutie()
{
return k==n;
}
void bkt()
{
int as,ev;
k=1;
init();
while(k!=0)
{
do
{
as=succesor();
ev=valid();
}
while(as&&!ev);
if(as)
{
if(solutie())
tipar();
else
{
k++;
init();
}
}
else
k--;
}
}
int main()
{
freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
bkt();
return 0;
}