Cod sursa(job #2207637)

Utilizator AndreiVisoiuAndrei Visoiu AndreiVisoiu Data 26 mai 2018 10:20:06
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

const int maxL = 40321;
int n, x[maxL];
bool ap[9];
ifstream in("permutari.in");
ofstream out("permutari.out");

bool valid(int v)
{
    return !ap[v];
}

void afis(int n)
{
    for(int i = 1; i <= n; i++)
        out << x[i] << ' ';
    out << '\n';
}

void backt(int k)
{
    if(k <= n)
        for(int v = 1; v <= n; v++)
        {
            x[k] = v;
            if(valid(v)) {
                ap[v] = 1;
                backt(k + 1);
                ap[v] = 0;
            }
        }
    else afis(n);
}

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