Pagini recente » Cod sursa (job #587369) | Cod sursa (job #1023528) | Cod sursa (job #2661743) | Cod sursa (job #168695) | Cod sursa (job #1801202)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int n, per[20];
bool valid(int val, int k)
{ for(int i=1;i<=k-1;i++)
if(per[i]==val)
return 0;
return 1;
}
void afisare()
{ for(int i=1;i<=n;i++)
g<<per[i]<<' ';
g<<'\n';
}
void back(int k)
{ if(k==n+1)
{ afisare();
return;
}
for(int i=1;i<=n;i++)//incercam toate valorile posibile, !sa nu declar i global
if(valid(i,k)) //returneaza 1 daca putem sa punem elemntul i pe nivelul k
{ per[k]=i;
back(k+1);
}
}
int main()
{ f>>n;
back(1);
return 0;
}