Cod sursa(job #1227045)

Utilizator thinkphpAdrian Statescu thinkphp Data 9 septembrie 2014 13:20:49
Problema Generare de permutari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#define MAX 10

void perm(int);

int j, N, p[ MAX ], taken[ MAX ];

int main() {
 
    freopen("permutari.in", "r", stdin);
    freopen("permutari.out", "w", stdout);

    scanf("%d", &N);  

    perm(1);

    return 0;
}


void perm(int level) {

     int i; 

     if(level == N + 1) {

        for(j = 1; j <= N; j++) printf("%d ", p[ j ]);

        printf("\n");

        return;
     } 

     for(i = 1; i <= N; ++i) 
  
         if( !taken[ i ] ) {

             taken[ i ] = 1;

             p[ level ] = i;

               perm(level + 1); 

             taken[ i ] = 0;    
         }         
}