Cod sursa(job #144750)

Utilizator floringh06Florin Ghesu floringh06 Data 27 februarie 2008 22:03:03
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>

using namespace std;

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

int A[10];
int P[10];
int N;

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

    void solve (int p)
    {
         int i;
         for (i = 1; i <= N; ++i)
             if (!P[i])
             {
                       A[p] = i;
                       P[i] = 1;
                       if (p == N) print();
                          else if (p < N) solve (p + 1);
                       P[i] = 0;
             }
    }

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