Cod sursa(job #495025)

Utilizator chrissBota Cristian chriss Data 23 octombrie 2010 18:33:55
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>

int st[9],n;

void tipar()
{
    for(int i=1;i<=n;++i)
        printf("%d ",st[i]);
    printf("\n");
}
int ok(int k, int val)
{
    int valid=1;
    for(int i=1; i<k; ++i)
        if(st[i]==val)
            valid=0;
    return valid;
}
void back(int k)
{
    if(k==n+1)
        tipar();
    else
    {
        for(int val=1; val<=n; ++val)
            if(ok(k,val))
            {
                st[k]=val;
                back(k+1);
            }
    }
}
int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    scanf("%d",&n);
    back(1);
}