Cod sursa(job #1956053)

Utilizator ana-maria.simiAna-Maria Simionescu ana-maria.simi Data 6 aprilie 2017 14:16:28
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,st[10],i;

void init(int k)
{
    st[k]=0;
}

int succesor(int k)
{
    if(st[k]<n)
    {
        st[k]++;
        return 1;
    }
    else
        return 0;
}

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

int solutie(int k)
{
    return k==n;
}

void tipar(int k)
{
    for(i=1; i<=k; i++)
        printf("%d ", st[i]);
    printf("\n");
}

void bt(int k)
{
    init(k);
    while(succesor(k))
        if(valid(k))
            {if(solutie(k))
                tipar(k);
                else
                    bt(k+1);}

}


int main()
{freopen("permutari.in", "r", stdin);
freopen("permutari.out", "w", stdout);
scanf("%d", &n);
bt(1);

    return 0;
}