Cod sursa(job #260862)

Utilizator hasegandaniHasegan Daniel hasegandani Data 17 februarie 2009 17:22:58
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>

#define nmax 10

int a[nmax],viz[nmax],n;
void back(int);
void afis();

int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d",&n);
    back(1);
    return 0;
}

void back(int k)
{
    for(int i=1;i<=n;++i)
        {
            a[k]=i;
            if (!viz[i])
                if (k==n)
                    afis();
                else
                    {
                    ++viz[i];
                    back(k+1);
                    --viz[i];
                    }
        }
}

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