Cod sursa(job #1490977)

Utilizator andreinmAndrei andreinm Data 24 septembrie 2015 15:55:31
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
///Sursa este demonstrativa
///Se afiseaza n! permutari, deci merge pana la n = 9

#include <bits/stdc++.h>

using namespace std;

ifstream fin("input.in");
ofstream fout("output.out");

const int Nmax = 100 + 10;

int n , v[Nmax];
bool marked[Nmax];

void afis()
{
    for (int i = 1; i <= n; ++i)
        fout << v[i] << ' ';
    fout << '\n';
}

void back_(int k)
{
    if (k == n + 1) afis();
    else
    {
        for (int i = 1; i <= n; ++i)
            if (!marked[i])
            {
                marked[i] = 1; v[k] = i;
                back_(k + 1);
                marked[i] = 0;
            }
    }
}

int main()
{
    fin >> n;

    back_(1);

    return 0;
}