Cod sursa(job #1015440)

Utilizator barabasi_csongorBarabasi Csongor barabasi_csongor Data 24 octombrie 2013 17:25:16
Problema Generare de permutari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <cstdio>
using namespace std;

int n,v[20];

int an(int k,int poz)
{
    int uz[20]={0};
    for(int i=1;i<=k;i++)
        {
            uz[v[i]]++;
        }
    if(uz[poz]==0) return 1;
    return 0;
}

void gen(int k)
{
    if(k==n+1)
        {
            for(int i=1;i<=n;i++) printf("%d ",v[i]);
            printf("\n");
        }
    else
        {
            for(int i=1;i<=n;i++)
                {
                    if(an(k,i))
                        {
                            v[k]=i;
                            gen(k+1);
                        }
                }
            v[k]=0;
        }
}

int main()
{freopen("permutari.in","r",stdin);
freopen("permutari.out","w",stdout);
scanf("%d",&n);
gen(1);
}