Cod sursa(job #2490126)

Utilizator TigoanMateiTigoan Matei-Daniel TigoanMatei Data 9 noiembrie 2019 19:37:23
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <bits/stdc++.h>

using namespace std;
ofstream out("permutari.out");
ifstream in("permutari.in");
int n;
int perm[20];
int fol[20];

void Back_Permutari(int pas){
    if(pas > n){
        ///cout << "Am terminat de pus toti cei " << n << " termeni" << '\n';
        for(int i = 1; i <= n; ++i)
            out << perm[i] << " ";
        out << '\n';
        return;
    }
    for(int i = 1; i <= n; ++i){
        if(!fol[i]){
            fol[i] = 1;
            perm[pas] = i;
            ///cout << "L-am fixat pe " << i << " la pozitia " << pas << " si ma duc la " << pas + 1 << '\n';
            ///for(int j = 1; j <= pas; ++j)
                ///cout << perm[j] << " ";
            ///cout << '\n';
            Back_Permutari(pas + 1);
            ///cout << '\n' << "M-am intors la pasul " << pas << '\n';
            fol[i] = 0;
        }
    }
}


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