Cod sursa(job #1478500)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 28 august 2015 19:31:00
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
// Galatan Tudor - Ion Luca Theoretical High School
// Husi, Romania, Th, August 28, 2015

#include<fstream>
 
using namespace std;
 
ifstream in("permutari.in");
ofstream out("permutari.out");
 
int x[9];
int n, i;
 
int valid (int k)
{
    int i;
    for (i=1; i<k; i++)
        if (x[i] == x[k])
        return 0;
    return 1;
}
 
int main ()
{
    in >> 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++)
                out << x[i] << " ";
            out << "\n";
            i = n;
        }
    } while (i > 0);
    return 0;
}