Pagini recente » Cod sursa (job #160807) | Cod sursa (job #2486312) | Cod sursa (job #1249285) | Cod sursa (job #354939) | Cod sursa (job #330123)
Cod sursa(job #330123)
#include<stdio.h>
int i,st[21],k,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-1;i++)
if(st[k]==st[i])
return 0;
return 1;
}
int solutie ()
{
return (k==n);
}
void tipar()
{
for(i=1;i<=k;i++)
printf("%d ",st[i]);
printf("\n");
}
void back ()
{
int as,ev;
k=1;init();
while(k>0)
{
do
{
as=succesor();
ev=valid();
}while(as && !ev);
if(as==1)
{
if(solutie())
tipar();
else
{
k++;
init();
}
}//if
else
{
k--;
}
}//while
}
int main ()
{
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
back();
return 0;
}