Cod sursa(job #1490978)

Utilizator andreinmAndrei andreinm Data 24 septembrie 2015 16:00:23
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
///Sursa este demonstrativa
///Se afiseaza n! permutari, deci merge pana la n = 9

#include <bits/stdc++.h>

using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.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;
}