Cod sursa(job #1844879)

Utilizator ArmaghedonDodon Aurel Armaghedon Data 10 ianuarie 2017 16:29:46
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <vector>
using namespace std;

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

int n,v[8];

bool valid(int k)
{
    for (int i=1;i<=k-1;i++)
    {
        if(v[i]==v[k])
        {
            return 0;
        }
    }
    return 1;
}

bool solutie(int k)
{
    if(k==n)
    {
        return 1;
    }
    return 0;
}

void afisare(int k)
{
    for (int i=1;i<=k;i++)
    {
        out<<v[i]<<" ";
    }
    out<<'\n';
}

void bk(int k)
{
    for (int i=1;i<=n;i++)
    {
        v[k]=i;
        if (valid(k))
        {
            if (solutie(k))
            {
                afisare(k);
            }
            else
            {
                bk(k+1);
            }
        }
    }
}

main()
{
    in>>n;
    bk(1);
}