Cod sursa(job #1602319)

Utilizator robert.stefanRobert Stefan robert.stefan Data 16 februarie 2016 18:39:06
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.76 kb
#include <stdio.h>
#include <stdlib.h>

#define IN "permutari.in"
#define OUT "permutari.out"
#define NMAX 8

char n;
char perm [NMAX], v [NMAX] = {0};

inline void print (void){
    char k;

    for(k = 0; k < n; ++k)
        printf ("%d ", perm[k]);
    printf ("\n");
}

void bkt (int lev){
    if (lev == n)
        print();
    else{
        char k;

        for (k = 1; k <= n; ++k){
            if (v [k] == 0){
                v [k] = 1;
                perm [lev] = k;
                bkt (lev + 1);
                v [k] = 0;
            }
        }
    }
}

int main(){
    freopen (IN, "r", stdin);
    freopen (OUT, "w", stdout);

    scanf ("%d", &n);
    bkt (0);

    fclose (stdin);
    fclose (stdout);
    return 0;
}