Cod sursa(job #1957995)

Utilizator MariusTestBroboana Marius MariusTest Data 7 aprilie 2017 21:50:04
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;

ifstream fin("permutari.in");
ofstream fout("permutari.out");

int ST[100], p, n, i;

int valid(int p)
{
    if (p > 1)
        for (i = 1; i <= p - 1; i++)
            if (ST[p] == ST[i])
                return 0;
    return 1;
}

void afisare (int p)
{
    for (i = 1; i <= p; i++)
        fout << ST[i] << ' ';
    fout << '\n';
}

int main()
{
    fin >> n;
    p = 1;
    ST[p] = 0;
    while (p > 0)
        if (ST[p] < n)
        {
            ST[p]++;
            if (valid(p))
                if (p == n)
                    afisare(p);
                else
                    ST[++p] = 0;
        }
        else
            p--;
    fin.close();
    fout.close();
    return 0;
}