Cod sursa(job #1472223)

Utilizator alexandru.ghergutAlexandru-Gabriel Ghergut alexandru.ghergut Data 16 august 2015 17:59:50
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>

using namespace std;

bool isInPartialSolution(int val, int index, int a[])
{
    for (int i = 0; i < index; i++)
        if (a[i] == val)
            return true;
    return false;
}

void nextPermutation(int index, int N, int a[], ofstream &g)
{
    for (int i = 1; i <= N; i++)
        if (!isInPartialSolution(i, index, a))
        {
            a[index] = i;
            if (index == N - 1)
            {
                for (int j = 0; j < N; j++)
                    g << a[j] << " ";
                g << '\n';
            }
            else
                nextPermutation(index + 1, N, a, g);
        }

}

int main()
{
    int N;
    ifstream f("permutari.in");
    f >> N;
    f.close();

    int a[N];
    ofstream g("permutari.out");
    nextPermutation(0, N, a, g);
    g.close();

    return 0;
}