Cod sursa(job #2266563)

Utilizator Andra_bghBighiu Andra Andra_bgh Data 22 octombrie 2018 19:28:53
Problema Generare de permutari Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <fstream>

using namespace std;

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

int n;
int x[15];
bool viz[15];

bool Valid(int k)
{

    int i;
    for(i=1;i<k;i++)
    if(x[k]==x[i]) return false;
    return true;

}

bool Solfinala(int k)
{
    return (k==n);
}

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

void Back(int k)
{

    /*
        i este valoarea din vector
        k este pozitia la care pun

    */
    int i;
    if(k==n+1)//am pus pe toate nivelele, am o permutare completa
        Afisare(n);
    else
        for(i=1;i<=n;i++)
        {
            if(!viz[i])
            {
                viz[i] = true;
                x[k] = i;
                Back(k+1);
                viz[i] = false;
            }
        }
}

int main()
{
    fin>>n;
    Back(1);
    return 0;
}