Pagini recente » Cod sursa (job #2641325) | Istoria paginii runda/winners1/clasament | Istoria paginii runda/no_feed/clasament | Cod sursa (job #2367925) | Cod sursa (job #798813)
Cod sursa(job #798813)
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n, sol[10];
void init(int k)
{ sol[k]=0;}
int succesor(int k)
{ if (sol[k]<n)
{ sol[k]++;
return 1;
}
else return 0;
}
int valid(int k)
{int i, ev=1;
for(i=1;i<=k-1;i++)
if(sol[k]==sol[i]) ev=0;
return ev;
}
int solutie(int k)
{return k==n+1;}
void tipar()
{ for(int i=1;i<=n;i++)
fout<<sol[i]<<" ";
fout<<endl;
}
void back(int k)
{ if(solutie(k)) tipar();
else
{ init(k);
while(succesor(k))
if(valid(k)) back(k+1);
}
}
int main()
{
fin>>n;
back(1);
fin.close();
fout.close();
}