Cod sursa(job #1016373)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 26 octombrie 2013 09:56:15
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<cstdio>
int n,x[21];
FILE *f,*g;
void sol(int n){
    for(int i=1;i<=n;i++){
        fprintf(g,"%d ",x[i]);
    }
    fprintf(g,"\n");
}
int cont(int k){
    for(int i=1;i<=k-1;i++){
        if(x[i]==x[k])
            return 0;
    }
    return 1;
}
void back(int k){
    if(k>n)
        sol(n);
    else{
        for(int i=1;i<=n;i++){
            x[k]=i;
            if(cont(k))
                back(k+1);
        }
    }
}
int main(){
    f=fopen("permutari.in","r");
    g=fopen("permutari.out","w");
    fscanf(f,"%d",&n);
    back(1);
    fclose(f);
    fclose(g);
    return 0;
}