Cod sursa(job #1676794)

Utilizator RazzinnatorRazvan Brinzea Razzinnator Data 6 aprilie 2016 10:18:44
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>

using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");

int sol[10];

void printSol(int n) {
    for (int i = 0; i < n; i++) {
        g << sol[i] << " ";
    }
    g << endl;
}

void back(int k, int n) {
    if (k == n) {
        printSol(n);
        return;
    }

    for (int i = 1; i <= n; i++) {
        // Cauta pe i in solutie
        bool found = false;
        for (int j = 0; j < k; j++) if (sol[j] == i) found = true;

        // Daca nu l-am gasit, il punem acum.
        if (found == false) {
            sol[k] = i;
            back(k+1, n);
        }
    }
}

int main()
{
    int n;
    f >> n;

    back(0, n);

    f.close();
    g.close();
    return 0;
}