Cod sursa(job #1676777)

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

using namespace std;

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

void printStack(deque<int> s) {
    while (!s.empty()) {
        g << s.front() << " ";
        s.pop_front();
    }
    g << endl;
}

void back(deque<int> s, int n) {
    if (s.size() == n) {
        printStack(s);
        return;
    }

    for (int i = 1; i <= n; i++) {
        if (find(s.begin(), s.end(), i) == s.end()) {
            s.push_back(i);
            back(s, n);
            s.pop_back();
        }
    }
}

void permutari(int n) {
    deque<int> s;
    back(s, n);
}

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

    permutari(n);

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