Cod sursa(job #2216779)

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

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

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

void tipar ()
{
    int 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;}