Cod sursa(job #206029)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 4 septembrie 2008 11:47:29
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
int n,sol[101];
void print()
{
    int i;
    for(i=1;i<=n;++i)
    printf("%d ",sol[i]);
    printf("\n");
}
int check (int val,int k)
{
    int i;
    for(i=1;i<k;++i)
        if(sol[i]==val)
        return 0;
    return 1;
}
void back (int k)
{
    int i;
    if(k==n+1)
    print ();
    else
        for(i=1;i<=n;++i)
            if(check(i,k))
            {
                sol[k]=i;
                back(k+1);
            }
}
int main ()
{
    freopen ("permutari.in","r",stdin);
    freopen ("permutari.out","w",stdout);    
    scanf ("%d",&n);
    back (1);
    return 0;
}