Cod sursa(job #3294959)

Utilizator amaliaoneaOnea Amalia Mihaela amaliaonea Data 30 aprilie 2025 22:47:34
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("permutari.in");
ofstream fout("permutari.out");

vector<int> v;

void afisare(int n) {
    for (int i = 1; i <= n; i++)
        fout << v[i] <<" ";
    fout << endl;
}

bool sol(int k, int n) {
    return k == n;
}

bool ok(int k) {
    for (int i = 1; i < k; i ++)
        if (v[i] == v[k])
            return false;
    return true;
}

void bkt (int k, int n) {
    for (int i = 1 ; i <= n; i++) {
        v.at(k) = i;
        if (ok(k)) {
            if (sol(k, n))
                afisare(n);
            else bkt(k + 1, n);
        } 
    }
}

int main() {
    int n;
    fin >> n;
    v.resize(n + 1);
    bkt(1, n);
    return 0;

}