Cod sursa(job #1178776)

Utilizator cristian.caldareaCaldarea Cristian Daniel cristian.caldarea Data 27 aprilie 2014 11:16:43
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<fstream>
#include<iostream>

using namespace std;

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

int v[12],n,i;

bool OK(int x);

int main()
{

    fin >> n;
    for ( i = 1; i <= n; i++ )
        v[i] = 0;
    i = 1;
    do
    {
        do
        {
            v[i]++;
            if (v[i] > n)
            {
                v[i] =0;
                i--;
            }
            else
                if ( OK(i) )
                    i++;
        }while (i<=n&&i>0);
        if (i>n)
        {
            for (i=1;i<=n;i++)
                fout <<v[i]<<" ";
            i=n;
            fout << "\n";
        }
    }while(i>0);


    fin.close();
    fout.close();
    return 0;

}
bool OK(int x)
{

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