Cod sursa(job #186524)

Utilizator raica_cristiraica dumitru cristian raica_cristi Data 28 aprilie 2008 10:05:38
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>
int sol[101],n;

int ok (int i,int k)
{
    int j;
    for (j=1; j<k; ++j)
        if (sol[j]==i)
            return 0;
    return 1;
}

void back (int k)
{
    int i,j;
    if (k==n+1)
    {
        for (j=1; j<=n; ++j)
            printf ("%d ",sol[j]);
        printf ("\n");
    }
    else
        for (i=1; i<=n; ++i)
            if (ok(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;
}