Pagini recente » Cod sursa (job #1535258) | Cod sursa (job #462043) | Cod sursa (job #1490429) | Cod sursa (job #2304736) | Cod sursa (job #662220)
Cod sursa(job #662220)
#include<iostream>
#include<fstream>
#define lmax 13
using namespace std;
ifstream f("permutari.in",fstream::in);
ofstream g("permutari.out",fstream::out);
typedef short int stiva[lmax];
stiva st;
short int n,k,i,as,ev;
void init()
{st[k]=0;}
bool succesor()
{if(st[k]<n)
{st[k]+=1;return 1;}
return 0;
}
bool valid()
{for(short int i=1;i<k;i++)
if(st[i]==st[k])
return 0;
return 1;
}
bool solutie()
{return k==n;}
void tipar()
{for(short int i=1;i<=k;i++)
g<<st[i]<<" ";
g<<"\n";
}
void bt()
{k=1;init();
while(k)
{as=1;ev=0;
while(as && !ev)
{as=succesor();
if(as)
ev=valid();
}
if(as)
if(solutie())
tipar();
else
++k,init();
else
k--;
}
}
int main()
{f>>n;
bt();
f.close();
g.close();
return 0;
}