Cod sursa(job #1927139)

Utilizator CammieCamelia Lazar Cammie Data 14 martie 2017 22:35:26
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>

using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

int n, fr[12], x[12];

int cond(int k)
{
    if (fr[x[k]])
        return 0;
    return 1;
}

inline void afisare()
{
    for (int i = 1; i <= n; i++)
        fout << x[i] << " ";
    fout << "\n";
}

inline void bkt()
{
    int k = 1;

    while (k)
    {
        if (x[k] < n)
        {
            x[k]++;
            if (cond(k))
            {
                if (k == n)
                    afisare();
                else
                {
                    fr[x[k]]++;
                    k++;
                    x[k] = 0;
                }
            }
        }
        else
        {
            k--;
            fr[x[k]] = 0;
        }
    }
}

int main ()
{
    fin >> n;

    bkt();

    fin.close(); fout.close(); return 0;
}