Cod sursa(job #3298030)

Utilizator Victor5539Tanase Victor Victor5539 Data 26 mai 2025 12:46:32
Problema Generare de permutari Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("permutare.in");
ofstream fout("permutare.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;
}