Cod sursa(job #1060432)

Utilizator ValeraShulghin Valera Valera Data 17 decembrie 2013 23:31:27
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>;
using namespace std;
ifstream f("permutari.in");
ofstream g("permutari.out");
int a[20],n;
int valid(int k);
int solutie(int k);
void afisare(int k);
void bk(int k);

int solutie(int k)
{
    if (k==n)
        return 1;
    return 0;
}

int valid(int k)
{
    int i;
    for(i=1;i<=k-1;i++)
        if (a[i]==a[k])
            return 0;
    return 1;
}

void afisare(int k)
{
    int i;
    for(i=1;i<=k;i++)
        g<<a[i]<<" ";
    g<<"\n";
}

void bk(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        a[k]=i;
        if (valid(k))
        {
            if (solutie(k))
                afisare(k);
            else bk(k+1);
        }
    }
}

int main()
{
    f>>n;
    bk(1);
    return 0;
}