Pagini recente » Cod sursa (job #1594897) | Cod sursa (job #2164548) | Cod sursa (job #621069) | Cod sursa (job #957131) | Cod sursa (job #218705)
Cod sursa(job #218705)
#include<stdio.h>
int st[20],n,i,k;
void init()
{
st[k]=0;
}
int valid()
{
for (i=1; i<k; i++)
if (st[k]==st[i]) return 0;
return 1;
}
int succesor()
{
if (st[k]<n)
{
st[k]++;
return 1;
}
return 0;
}
int solutie()
{
if (n==k) return 1;
return 0;
}
void tipar()
{
for (i=1; i<=k; i++)
printf("%d ",st[i]);
printf("\n");
}
void bkt(){
int as,ev;
k=1;
init();
while (k){
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;
}