Cod sursa(job #2773747)

Utilizator NanuGrancea Alexandru Nanu Data 8 septembrie 2021 15:56:03
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>

using namespace std;

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

#define DIM 10

int v[DIM], n;

static inline bool check(int k) {
    int i = 1;
    while(v[i] != v[k])
        i++;
    return(i == k); ///verific daca am ajuns la final;
}

static inline bool solutie(int k) {
    return (n == k);
}

static inline void Afis() {
    for(int i = 1; i <= n; i++)
        cout << v[i] << " ";
    cout << '\n';
}

static inline void Back(int k) {
    for(int i = 1; i <= n; i++) {
        v[k] = i;
        if(check(k)) {  ///daca sirul e valid;
            if(solutie(k))  ///daca am n elemente;
                Afis();
            else Back(k + 1);   ///mai adaug un element;
        }
    }
}

int main() {
    cin >> n;
    Back(1);

    return 0;
}