Cod sursa(job #2470936)

Utilizator Antonio020712Potra Antonio Antonio020712 Data 9 octombrie 2019 21:17:27
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
// Sa se genereze permutarile de lungime N.

#include <fstream>

using namespace std;

ifstream fin ("permutari.in");
ofstream fout ("permutari.out");

int n, v[9];

bool valid(int k) {
    int i;

    for (i = 1; i < k; i++) 
        if (v[i] == v[k])
            return false;

    return true;
}

void afisare(int k) {
    int i;

    for (i = 1; i <= n; i++)
        fout << v[i] << ' ';

    fout << '\n';
}

void back(int k) {
    int i;

    for (i = 1; i <= n; i++) {
        v[k] = i;
        if (valid(k)) {
            if (k == n) 
                afisare(k);
            else 
                back(k + 1);
        }
    }
}

int main() {
    fin >> n;
    back(1);

    fin.close();
    fout.close();

    return 0;
}