Cod sursa(job #266659)

Utilizator warchildmdMihail Burduja warchildmd Data 25 februarie 2009 22:19:26
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>

int vect[9], n;
FILE *in, *ou;

int valid(int k)
{
    int i;
    for(i=1;i<k;i++)
    if(vect[k]==vect[i])
    return 0;
    return 1;
}

void scrie()
{
    for(int i=1;i<=n;i++)
    fprintf(ou,"%d ", vect[i]);
    fprintf(ou,"\n");
}

void gen(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        vect[k]=i;
        if(valid(k))
        {
            if(k==n)
            scrie();
            else
            gen(k+1);
        }
    }
}


int main()
{
    in=fopen("permutari.in", "r");
    ou=fopen("permutari.out","w+");
    fscanf(in,"%d",&n);
    gen(1);
    fclose(in);
    fclose(ou);
    return 0;
}