Cod sursa(job #1570132)

Utilizator gabrielamoldovanMoldovan Gabriela gabrielamoldovan Data 16 ianuarie 2016 11:05:01
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

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

const int maxn=20;

int n, per[maxn];

bool valid(int val, int k)
{
    for(int i=1; i<=k-1; i++)
        if(per[i]==val)
            return false;
    return true;
}

void afisare()
{
    for(int i=1; i<=n; i++)
    {
        g<<per[i]<<' ';
    }
    g<<'\n';
}

void back(int k)
{
    if(k==n+1)
    {
        afisare();
        return ;
    }
    for(int i=1; i<=n; i++) ///incercam toate valorile posibile
    {
        if(valid(i,k)) ///returneaza 1 daca putem sa punem elementul i pe nivelul k
        {
            per[k]=i;
            back(k+1);
        }
    }
}

int main()
{
    f>>n;
    back(1);
    return 0;
}