Cod sursa(job #269914)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 3 martie 2009 16:16:49
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <cstdio>
#define N 20
#define FIN "permutari.in"
#define FOUT "permutari.out"

int n,v[N],h[N];
void read()
{
     freopen(FIN, "r", stdin);
     scanf("%d", &n);     
}

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

void back(int nivel)
{
     if (nivel == n + 1)
     {
        write();
        return;
     }
     for (int i = 1; i <= n; ++i)
         if (!h[i])
         {
            v[nivel] = i;
            h[i] = 1;
            back(nivel + 1);
            h[i] = 0;          
         }
}
int main()
{
    freopen(FOUT,"w",stdout);
    read();
    back(1);    
}