Cod sursa(job #1602323)

Utilizator robert.stefanRobert Stefan robert.stefan Data 16 februarie 2016 18:40:48
Problema Generare de permutari Scor 80
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

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

inline void print (void){
    int k;

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

void bkt (int lev){
    if (lev == n)
        print();
    else{
        int 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(void){
    freopen (IN, "r", stdin);
    freopen (OUT, "w", stdout);

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

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