Cod sursa(job #263399)

Utilizator BursuceluHaldan Catalin Bursucelu Data 20 februarie 2009 12:37:27
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<stdio.h>   
  
int n,sol[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)   
    {   
        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;   
}