Cod sursa(job #1045159)

Utilizator alex_ovidiunituAlex Ovidiu Nitu alex_ovidiunitu Data 30 noiembrie 2013 22:59:09
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
int x[100],k,n;
 fstream f,g;
int posbun()
{
    int i;
    for (i=1;i<k;i++)
        if (x[i]==x[k])
            return 0;
    return 1;
}
void afisare()
{
    int i;
    for (i=1;i<=n;i++)
        g<<x[i]<<" ";
    g<<"\n";
}
int main()
{

    int ok;

    f.open("permutari.in",ios::in);
    g.open("permutari.out",ios::out);
    f>>n;
    k=1;
    x[k]=0;
    while (k)
    {
        ok=0;
        while (ok==0 && x[k]<n)
        {
            x[k]++;
            ok=posbun();
        }
        if (ok==1)
            if (k==n)
                afisare();
            else
                k++,x[k]=0;
        else
            k--;
    }
}