Cod sursa(job #791440)

Utilizator veleanduAlex Velea veleandu Data 24 septembrie 2012 09:38:49
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>
using namespace std;

    long n;
    long Rez[10],V[10];
    char Text[1000000];
    long nr;

    void solve ( long k )
    {
        if ( k==n )
        {
            for ( long i=1; i<=n; i++ )
            {
                Text[nr++]=char(Rez[i]+'0');
                Text[nr++]=' ';
            }
            Text[nr-1]='\n';
            return ;
        }
        for ( long i=1; i<=n; i++ )
            if ( !V[i] )
            {
                V[i]=1;
                Rez[k+1]=i;
                solve(k+1);
                V[i]=0;
            }
    }

int main()
{
    freopen ("permutari.in","r",stdin);
    freopen ("permutari.out","w",stdout);
    scanf ("%d", &n);
    solve( 0 );
    printf("%s", Text);
    return 0;    
}