Cod sursa(job #2030119)

Utilizator osiaccrCristian Osiac osiaccr Data 1 octombrie 2017 09:58:27
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

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

int n, v[10];

bool check (int niv) {
    for (int i = 1; i <= niv - 1; i++)
        if (v[i] == v[niv])
            return 0;
    return 1;
}

void backtrack (int niv) {
    if (niv > n) {
        for (int i = 1; i <= n; i++)
            fout << v[i] << " ";
        fout << "\n";
        return;
    }
    for (int i = 1; i <= n; i++) {
        v[niv] = i;
        if (check (niv))
            backtrack (niv + 1);
    }
}

int main () {
    fin >> n;
    backtrack (1);
    return 0;
}