Cod sursa(job #1412662)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 1 aprilie 2015 13:44:40
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>

using namespace std;

ifstream f("permutari.in");
ofstream g("permutari.out");

int x[9];
int i, n;

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

int main()
{
    f >> n;
    for(i = 1; i <= n; i++)
        x[i] = 0;

    i = 1;
    do
    {
        do
        {
            x[i]++;
            if(x[i] > n)
            {
                x[i] = 0;
                i--;
            }
            else if(valid(i))
                i++;
        }while(i <= n && i > 0);

        if(i > n)
        {
            for(i = 1; i <= n; i++)
                g << x[i] << " ";
            g << "\n";
            i = n;
        }
    }while(i > 0);
    return 0;
}