Cod sursa(job #144671)

Utilizator vanila_CPPIonescu Victor Cristian vanila_CPP Data 27 februarie 2008 20:50:22
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#define FIN "permutari.in"
#define FOUT "permutari.out"
#define MAX_N 8
using namespace std;
int sol[MAX_N+1];
int used[MAX_N+1];
int n;

void back(int);
void afis();

void iofile(void){
        freopen(FIN,"rt",stdin);
        freopen(FOUT,"wt",stdout);
        scanf("%d",&n);
        fclose(stdin);
        back(1);
        fclose(stdout);
        return ;
}


void back(int x){
        if (x==n+1){afis();} else {
                for (int i=1;i<=n;i++){
                        if (!used[i]){
                                sol[x]=i;
                                used[i]=1;
                                back(x+1);
                                used[i]=0;
                        }
                 }
        }
}

void afis(void){
        for (int i=1;i<=n;i++){
                printf("%d ",sol[i]);
        }
        printf("\n");
}

int main(void){
        iofile();
        return 0;
}