Cod sursa(job #308152)

Utilizator sorin2009Sfechis Sorin sorin2009 Data 26 aprilie 2009 11:00:21
Problema Generare de permutari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<iostream.h>
void back(int);
int valid(int);
void Afisare();
int stiva[100],n;
int main()
{

    cin>>n;
    back(1);
    system("pause");
    return 0;
}
void back(int p)
{
     int pval;
     for(pval=1;pval<=n;++pval)
     {
                               stiva[p]=pval;
                               if(valid(p))
                                if(p==n)
                                Afisare();
                                else 
                                back(p+1);
                                }
}
int valid(int p)
{
    int ok=1,i;
    for(i=1;i<p;i++)
     if(stiva[i]==stiva[p])
     ok=0;
     return ok;
}
void Afisare()
{
     int i;
     cout<<endl;
     for(i=1;i<=n;i++)
     cout<<stiva[i]<<" ";
}