Cod sursa(job #1382579)

Utilizator Toast97Calin Farcas Toast97 Data 9 martie 2015 11:34:12
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

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

int s[20], n;

bool valid (int k)
{
    for (int i = 1; i < k; i ++)
        for (int j = i + 1; j <= k; j ++)
            if (s[i] == s[j])
            return 0;
    return 1;
}

void bk (int k)
{
    for (int i = 1; i <= n; i ++)
    {
        s[k] = i;

        if (valid (k))
        {
            if(k == n)
        {
            for (int j = 1; j <= n; j ++)
                g << s[j] << " ";
            g << '\n';
        }

        else
            bk (k + 1);
        }
    }
}

int main()
{
    f >> n;

    bk (1);

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