Pagini recente » Cod sursa (job #2048814) | Cod sursa (job #1977046) | Profil EugenStoica | Cod sursa (job #3268545) | Cod sursa (job #1277192)
#include <iostream>
#include <algorithm>
#include <fstream>
#define Nmax 9
using namespace std;
ofstream g("permutari.out");
void generate(int N, int lev, int st[], int viz[])
{
if(lev > N)
return;
st[lev] = 0;
do
{
++st[lev];
if(st[lev] > N)
continue;
if(viz[st[lev]] == 1)
continue;
if(lev == N)
{
for(int i=1;i<=N;++i)
g<<st[i]<<" ";
g<<"\n";
}
viz[st[lev]] = 1;
generate(N, lev+1, st, viz);
viz[st[lev]] = 0;
} while(st[lev] <= N);
}
int main()
{
int N, st[Nmax], viz[Nmax];
ifstream f("permutari.in");
f>>N;
f.close();
fill(st+1, st+N+1, 0);
fill(viz+1, viz+N+1, 0);
generate(N, 1, st, viz);
g.close();
return 0;
}