Cod sursa(job #515298)

Utilizator vlasceanuVlasceanu Razvan vlasceanu Data 20 decembrie 2010 23:22:30
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>

using namespace std;

//variabile globale----------------
int *a,*f;
ofstream fout;
ifstream fin;
//variabile globale

//functii--------------------------
bool solutie(int ,int);
void afiseaza(int);
void bktr(int , int);
//functii

int main()
{
    fout.open("permutari.out");
    fin.open("permutari.in");
    int n;
    fin>>n;
    a=new int[n+1];
    f=new int[n+1];
    for(int i=0;i<=n;i++)f[i]=0;
    bktr(1,n);
    return 0;
}

void bktr(int k, int l){
    if(solutie(k,l))afiseaza(l);
    else
    for(int i=1;i<=l;i++)if(f[i]==0)
    {
        a[k]=i;
        f[i]=1;
        bktr(k+1,l);
        f[i]=0;
    }
}
bool solutie(int k,int l){return k-1==l;}
void afiseaza(int l){
    for(int i=1;i<=l;i++)
        fout<<a[i]<<" ";
    fout<<"\n";
    }