Cod sursa(job #2542396)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 9 februarie 2020 21:41:10
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
#include<vector>
#define NMAX 8
//in-out
std::ifstream f("permutari.in");
std::ofstream g("permutari.out");

//data
std::vector<int> sol;
std::vector<bool> used(NMAX);
int n;


//readData
void readData(){
    f >> n;
}

void printPermut(std::vector<int>& sol){
    for(auto& elem : sol){
        g << elem  + 1 << ' ';
    }
    g << '\n';
}

//solve
void bkt(){
    if(sol.size() == n){
        printPermut(sol);
    }
    for(int i = 0; i<n; i++){
        if(!used[i]){
            used[i] = true;
            sol.push_back(i);
            bkt();
            sol.pop_back();
            used[i] = false;
        }
    }
}

int main(){
    readData();
    bkt();
    return 0;
}