Cod sursa(job #872771)

Utilizator matei_cChristescu Matei matei_c Data 6 februarie 2013 16:14:05
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<cstdio>

#define maxn 101

int n ;
int sel[maxn], sol[maxn] ;

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

    for(int i = 1; i <= n; ++i )
    {
        if( sel[i] == 0 )
        {
            sel[i] = 1 ;
            sol[level] = i ;

            back( level + 1 ) ;

            sel[i] = 0 ;
        }
    }
}

int main()
{

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

    scanf("%d%d", &n);

    back(1) ;

    return 0 ;

}