Pagini recente » Cod sursa (job #547432) | Cod sursa (job #1638735) | Cod sursa (job #2875434) | Cod sursa (job #409365) | Cod sursa (job #280943)
Cod sursa(job #280943)
#include<fstream.h>
ifstream f("permutari.in");
ofstream g("permutari.out");
int st[100],n;
int succesor(int k)
{if(st[k]<n)
{st[k]++; return 1;}
else return 0;
}
int valid(int k)
{int i;
for(i=1;i<k;i++)
if(k!=1&&st[k]<=st[k-1]) return 0;
return 1;
}
int tiparire(int k)
{int i;
for(i=1;i<=k;i++)
g<<st[i]<<' ';
g<<"\n";
return 0;
}
int main()
{f>>n;
int k=1;
st[k]=0;
int as,ev;
while(k)
{do{as=succesor(k);
if(as) ev=valid(k);
}while(as&&!ev);
if(as)
if(k==n) tiparire(k);
else {k++; st[k]=0;}
else k--;
}
f.close();
g.close();
return 0;
}