Cod sursa(job #263393)

Utilizator CrystopherJalba Cristian Crystopher Data 20 februarie 2009 12:26:35
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<stdio.h>   
  
int n,sol[9];   
char marc[9];   
  
void afisare()   
{   
    for(int i=1;i<=n;++i)   
        printf("%d ",sol[i]);   
    printf("\n");   
}   
/*  
char valid(int k)  
{  
    for(int i=1;i<k;++i)  
        if(sol[i]==sol[k])  
            return 0;  
    return 1;  
}  
*/  
void back(int k)   
{   
    if(k==n+1)   
    {   
        afisare();   
        return;   
    }   
    for(int i=1;i<=n;++i)   
        if(marc[i]==0)   
        {   
            marc[i]=1;   
            sol[k]=i;   
            back(k+1);   
            marc[i]=0;   
        }   
        /*  
    {  
        sol[k]=i;  
        if(valid(k))  
            back(k+1);  
    }  
        */  
}   
  
int main()   
{   
    freopen("permutari.in","r",stdin);   
    freopen("permutari.out","w",stdout);   
    scanf("%d",&n);   
    back(1);   
    return 0;   
}