Cod sursa(job #2437774)

Utilizator Adrian_Popescu311Popescu Adrian Adrian_Popescu311 Data 10 iulie 2019 12:04:46
Problema Generare de permutari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fi("permutari.in");
ofstream fo("permutari.out");

int v[9];
int n;

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

    return 1;
}

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

void afis(int k)
{
    for(int i=1;i<=k;i++)
        fo<<v[i]<<" ";
    fo<<'\n';
}

void bkt()
{
    int k;
    k=1;
    v[k]=0;

    while(k>=1)
        if(v[k]<n)
    {
        v[k]++;
        if(valid(k))
            if(sol(k))
                afis(k);
            else
            {
                k++;
                v[k]=0;
            }
    }
        else
            k--;
}

int main()
{
    fi>>n;

    bkt();

    return 0;
}