Cod sursa(job #1095990)

Utilizator pitbull007Hurmuzache Ciprian pitbull007 Data 1 februarie 2014 13:12:53
Problema Generare de permutari Scor 20
Compilator c Status done
Runda Arhiva educationala Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>

int n;
int v[9];
FILE *fin,*fout;

void afisare() {
    int i;
    for(i=1;i<=n;i++)
        fprintf(fout,"%d",v[i]);
    fprintf(fout,"\n");
}

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

void generare(int k) {
    int i;
    if(k==n+1)
        afisare();
    else {
        for(i=1;i<=n;i++) {
            v[k]=i;
            if(validare(k))
                generare(k+1);
        }
    }

}



int main() {

    fin=fopen("permutari.in","r");
    fscanf(fin,"%d",&n);
    fout=fopen("permutari.out","w");
    generare(1);

    return 0;
}