Pagini recente » Cod sursa (job #1204144) | Cod sursa (job #1054902) | Cod sursa (job #3192800) | Cod sursa (job #3137628) | Cod sursa (job #3298031)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");
int n,v[15],i,f[10005],mask;
int lsb(int x)
{
return (x&(-x));
}
void afis()
{
for (int i=1; i<=n; i++)
fout<<v[i]<<" ";
fout<<"\n";
}
void bkt(int mask, int pas)
{
int aux=mask;
while (aux)
{
int val=f[lsb(aux)];
v[pas]=val;
if (pas<n)
bkt(mask^lsb(aux),pas+1);
else
afis();
aux-=lsb(aux);
}
}
int main()
{
fin>>n;
mask=(1<<(n))-1;
for (i=0; i<=10; i++)
f[1<<(i)]=i+1;
bkt(mask,1);
return 0;
}