Cod sursa(job #1131632)

Utilizator vlad.rusu11Rusu Vlad vlad.rusu11 Data 28 februarie 2014 22:35:06
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#define NMax 9
using namespace std;

ofstream fout("permutari.out");

short stack[NMax], N;

bool valid(short k)
{
    int i;
    for(i = 1 ; i < k ; ++i)
        if(stack[i] == stack[k])
            return false;
    return true;
}

void back(short niv)
{
    if(niv > N)
    {
        for(short i = 1 ; i <= N ; ++i)
            fout << stack[i] << ' ';
        fout << '\n';
    }
    else
    {
        stack[niv] = 0;
        while(stack[niv] < N)
        {
            ++stack[niv];
            if(valid(niv))
                back(niv + 1);
        }
    }
}

int main()
{
    ifstream fin("permutari.in");

    fin >> N;
    fin.close();

    back(1);

    fout.close();
    return 0;
}