Cod sursa(job #613733)

Utilizator DianaDDiana Dr. DianaD Data 4 octombrie 2011 18:09:49
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

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

int n,sol[20];

void bkt(int);
bool valid (int);
void afisare ();

int main()
{
    in>>n;
    bkt (1);
    return 0;

}

void bkt(int p)
{
    if (p-1==n)
    {
        afisare();
        return;
    }
    for(int i=1;i<=n;i++)
    {
        sol[p]=i;
        if (valid(p)) bkt(p+1);
    }
}

bool valid (int p)
{
    for (int i=1; i<p ; i++)
        if (sol[p]==sol[i])
            return false;
    return true;
}
void afisare ()
{
    for (int i=1;i<=n;i++)
        out<<sol[i]<<" ";
    out<<"\n";
}