Pagini recente » Cod sursa (job #2803597) | Cod sursa (job #397616) | Cod sursa (job #2505355) | Cod sursa (job #3276079) | Cod sursa (job #152167)
Cod sursa(job #152167)
#include<iostream.h>
#include<stdio.h>
FILE *f,*g;
int st[100],k,i,t,n,as;
void init()
{
st[k]=0;
}
int sucesor()
{
if(st[k]<n)
{st[k]++; t=1;}
else
t=0;
return t;
}
int valid()
{
t=1;
for(i=1;i<=k-1&&t;i++)
if(st[i]==st[k]) t=0;
return t;
}
void tipar()
{
for(i=1;i<=n;i++)
fprintf(g,"%d ",st[i]);
fprintf(g,"\n");
}
int solutie()
{
return(k==n);
}
int main ()
{
k=1;
init();
f=fopen("permutari.in","r");
g=fopen("permutari.out","w");
fscanf(f,"%d",&n);
while(k>0)
{
do{}while((as=sucesor())&&(!valid()));
if(as)
if(solutie())
tipar();
else
{k++;init();}
else
{k--; }
}
return 0;
}