Cod sursa(job #2216780)

Utilizator Andrei-27Arhire Andrei Andrei-27 Data 27 iunie 2018 21:35:38
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
using namespace std;
#include <fstream>
unsigned n,st[10];
ofstream g("permutari.out");
unsigned succesor (unsigned k)
{
    if(st[k]<n)
        {
            st[k]++;
            return 1;
        }
    return 0;
}

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

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

void tipar ()
{
    unsigned i;
    for(i=1;i<=n;i++)
        g<<st[i]<<" ";
    g<<"\n";
}

void bt(int k)
{
    st[k]=0;
    while (succesor (k))
        if(valid (k))
            if(solutie (k))
                tipar();
    else bt(k+1);}


int main(){
    ifstream f("permutari.in");
f>>n;
    bt(1);
f.close();
g.close();
    return 0;}