Cod sursa(job #1447563)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 4 iunie 2015 18:54:01
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <fstream>

using namespace std;

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

int n, a[10];
bool p[10];

void solutie ()
{
    int i;
    for (i = 1; i <= n; i++)
      fout << a[i] << ' ';
    fout << '\n';
}

void permutari (int i)
{
    int j;

    if (i <= n)   // Apelam daca suntem in cadrul tablei.
    {
        for (j = 1; j <= n; j++)
            {
                a[i] = j; // Stabilim o valoare pentru elementul curent din vector.
                if (not p[j]) { // Testam conditiile de continuare.
                    p[j] = true;
                    permutari(i + 1);
                    p[j] = false;
                }
            }
    }
    else
        solutie ();
}

int main ()
{
    fin >> n;
    permutari (1);
    fin.close();
    fout.close();
    return 0;
}
/*
..o.....
....o...
.o......
......o.
*/