Pagini recente » Cod sursa (job #7501) | Cod sursa (job #2188893) | Cod sursa (job #2064127) | Cod sursa (job #1894113) | Cod sursa (job #799693)
Cod sursa(job #799693)
#include<fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n,k,x[100];
void init ()
{
x[k]=0;
}
int succesor ()
{
if(x[k]<n)
{
x[k]++;
return 1;
}
else
return 0;
}
int valid ()
{
int i,ev=1;
for(i=1;i<=k-1;i++)
if(x[i]==x[k])
ev=0;
return ev;
}
int solutie ()
{
if(k==n)
return 1;
else
return 0;
}
void tipar ()
{
int i;
for(i=1;i<=k;i++)
g<<x[i]<<" ";
g<<"\n";
}
void back ()
{
int as;
k=1;
init();
while(k>0)
{
do {} while ((as=succesor()) && !valid());
if(as)
{
if(solutie())
tipar();
else
{
k++;
init();
}
}
else
k--;
}
}
int main ()
{
f>>n;
back();
f.close();g.close();
return 0;
}