Cod sursa(job #1754228)

Utilizator meriniucrMeriniuc Razvan- Dumitru meriniucr Data 7 septembrie 2016 18:13:01
Problema Generare de permutari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include <fstream>

int arr[8];
std::ifstream mama("permutari.in");
std::ofstream tata("permutari.out");
int n;

bool
check()
{
    bool used[9];

    for (int i = 1; i <= n; ++i)
    {
        used[i] = false;
    }

    for (int i = 0; i < n; ++i)
    {
        if (used[arr[i]])
        {
            return false;
        }
        used[arr[i]] = true;
    }

    return true;
}

void
go()
{
    int index;

    index = 0;
    while (index > -1)
    {
        ++arr[index];

        if (arr[index] == n + 1)
        {
            arr[index] = 0;
            --index;
            continue;
        }

        if (index == n - 1)
        {
            if (check())
            {
                for (int i = 0; i < n; ++i)
                {
                    tata << arr[i] << ' ';
                }
                tata << '\n';
            }
            --index;
        }
        ++index;
    }
}

int main()
{
    mama >> n;
    
    go();

    return 0;
}