Cod sursa(job #1570147)

Utilizator andrei-sasAndrei Sas-Miresan andrei-sas Data 16 ianuarie 2016 11:12:39
Problema Generare de permutari Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

const int maxm=20;
int n,per[maxm];

bool valid(int val, int k)
{
    for(int i=1;i<=k;++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)
    {
        if(valid(i,k))
        {
            per[k]=i;
            back(k+1);
        }
    }
}

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