Cod sursa(job #1373665)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 4 martie 2015 19:57:46
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
using namespace std;

const int kNMax = 10;
int n, vf, v[kNMax];

void Citire() {
    ifstream in("permutari.in");
    in >> n;
    in.close();
}

void Backtracking() {
    ofstream out("permutari.out");
    int k = 1, i;
    while (k > 0) {
        do {
            v[k]++;
            vf = 1;
            for (i = 1; i < k; ++i)
                if(v[i] == v[k])
                    vf = 0;
        } while (v[k] <= n && vf == 0);
        if (v[k] <= n) {
            if (k == n) {
                for (i = 1; i <= n; ++i)
                    out << v[i] << ' ';
                out << '\n';
            } else
                v[++k] = 0;
        } else
            k--;
    }
    out.close();
}

int main() {
    Citire();
    Backtracking();
    return 0;
}