Cod sursa(job #462018)

Utilizator marcuMarcu Cornel marcu Data 9 iunie 2010 15:42:05
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#define DIMBACK 1<<5

int X[DIMBACK], viz[DIMBACK];
int N;
 
void back (int k){
   int i;
  
   if (k - 1 == N){
        for (i=1; i<=N; i++)
            printf ("%d ", X[i]);
        printf ("\n");
        return;
    }
     
    for (i=1; i<=N; i++)
        if (!viz[i]){
            X[k] = i;
            viz[i] = 1;
            back (k + 1);
            viz[i] = 0;
        }
}
 
int main (){
     
    freopen ("permutari.in", "r", stdin);
    freopen ("permutari.out", "w", stdout);
     
    scanf ("%d", &N);
 
    back (1);
     
    return 0;
}