Cod sursa(job #1229767)

Utilizator afkidStancioiu Nicu Razvan afkid Data 18 septembrie 2014 03:24:56
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

using namespace std;


void backtrack(int n,int permutation[],int i)
{
    if(i == n+1)
    {
        for(int i=1;i<=n;i++)
            printf("%d ",permutation[i]);
        printf("\n");
        return;
    }
    for(int t=1;t<=n;t++)
    {
        bool valid=true;
        for(int j=1;j<i;j++)
            if(permutation[j] == t)
                valid=false;
        if(valid==true)
        {
            permutation[i]=t;
            backtrack(n,permutation,i+1);
        }
    }
}

int main()
{
    freopen("permutari.in","r",stdin);
    freopen("permutari.out","w",stdout);
    int p,permutation[10];
    scanf("%d",&p);
    backtrack(p,permutation,1);
    return 0;
}