Cod sursa(job #825149)

Utilizator Master011Dragos Martac Master011 Data 27 noiembrie 2012 17:30:02
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include<stdio.h>
FILE *fin,*fout;
int sol[100];
int n;
void afisare(){
    int i;
    for(i=1;i<=n;i++)
        fprintf(fout,"%d ",sol[i]);
    fprintf(fout,"\n");
    return;
}
int valid(int k){
    int i;
    for(i=1;i<k;i++)
        if(sol[k]==sol[i])
            return 2;
     return 1;
}
void bkt(int p){
    if(p-1==n){
        afisare();
        return;

    }
    int i;
    for(i=1;i<=n;i++){
        sol[p]=i;
        if(valid(p)==1)
            bkt(p+1);
    }
}
int main(){
    fin=fopen("permutari.in","r");
    fout=fopen("permutari.out","w");
    fscanf(fin,"%d",&n);
    bkt(1);
    fclose(fin);
    fclose(fout);
    return 0;

}