Cod sursa(job #167725)

Utilizator mordredSimionescu Andrei mordred Data 29 martie 2008 23:02:32
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<cstdlib>
#include<string>
int k,a[30],i,b[30],n;

void print(){
for(i=1;i<=n;i++)
    printf("%d ",a[i]);
printf("\n");    
}

int main(){
freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);

scanf("%d",&n);
k=1;
a[k]=0;
while(k>0)
    {
    if(a[k]<n)
        {
        a[k]++;
        if(b[a[k]]==0)
            {
            if(k==n)
                print();
            else
                {
                b[a[k]]=1;    k++;    a[k]=0;
                }    
            }    
        }
    else
        {
        k--;
        b[a[k]]=0;           
        }   
    }
return 0;
}