Cod sursa(job #583294)

Utilizator truenighttruenight truenight Data 19 aprilie 2011 15:32:01
Problema Generare de permutari Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

#define N 10
#define IN "permutari.in"
#define OUT "permutari.out"

static int n, s[N], l[N];

static void perm(int );

int main(void) {

    (void) freopen(IN, "r", stdin);
    (void) freopen(OUT, "w", stdout);

    (void) scanf("%d", &n);

    perm(1);

    return 0;
}

void perm(int k) {

    int i;

    if(k == n + 1) {

        for(i = 1; i <= n; ++i) printf("%d ", s[i]);
        printf("\n");
    } else
        for(i = 1; i <= n; ++i)
            if(!l[i]) {

                l[i] = 1, s[k] = i;
                perm(k + 1;
                l[i] = 0;
            }
}