Pagini recente » Cod sursa (job #1920102) | Cod sursa (job #2290499) | Cod sursa (job #615448) | Cod sursa (job #849018) | Cod sursa (job #1011019)
#include <iostream>
#include <fstream>
using namespace std;
int st[1000],k,as,ev,i,n;
ifstream f("permutari.in");
ofstream g("permutari.out");
void init()
{
st[k]=0;
}
void succesor()
{
if(k<=n && st[k]<n)
{
as=1;
st[k]++;
}
else
as=0;
}
void valid()
{
ev=1;
for(i=1;i<=k-1;i++)
if(st[i]==st[k])
ev=0;
}
int solutie(int k)
{
if(k==n)
return 1;
else
return 0;
}
void tipar()
{
for(i=1;i<=k;i++)
g<<st[i]<<" ";
g<<endl;
}
int main()
{
f>>n;
k=1;
init();
while(k>0)
{
do
{
succesor();
if(as)
valid();
}
while(!((!as)||(as&&ev)));
if(as)
if(solutie(k))
tipar();
else
{
k++;
init();
}
else
k--;
}
f.close();
g.close();
return 0;
}