Pagini recente » Cod sursa (job #2694648) | Cod sursa (job #3270591) | Cod sursa (job #1188187) | Cod sursa (job #419817) | Cod sursa (job #1570132)
#include <fstream>
using namespace std;
ifstream f ("permutari.in");
ofstream g ("permutari.out");
const int maxn=20;
int n, per[maxn];
bool valid(int val, int k)
{
for(int i=1; i<=k-1; i++)
if(per[i]==val)
return false;
return true;
}
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
{
if(valid(i,k)) ///returneaza 1 daca putem sa punem elementul i pe nivelul k
{
per[k]=i;
back(k+1);
}
}
}
int main()
{
f>>n;
back(1);
return 0;
}