Cod sursa(job #370222)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 30 noiembrie 2009 15:59:40
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
# include <cstdio>

using namespace std;

# define FIN "permutari.in"
# define FOUT "permutari.out"
# define MAX_N 20

int N;
int ap[MAX_N];
int sol[MAX_N];

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

    void back(int k)
    {
        int i;
        
        for (i = 1; i <= N; ++i)
           if (!ap[i])
           {
               ap[i] = 1;
               sol[k] = i;
               
               if (k < N) back(k + 1);
               else print();
               
               ap[i] = 0;
           }
    }

    int main()
    {
        freopen(FIN, "r", stdin);
        freopen(FOUT, "w", stdout);
        
        scanf("%d", &N);
        
        back(1);
        
        return 0;
    }