Cod sursa(job #1404748)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 28 martie 2015 15:16:20
Problema Problema Damelor Scor 60
Compilator c Status done
Runda Arhiva educationala Marime 0.86 kb
#include <stdio.h>
#include <stdlib.h>
int v[17],f[17],perm=0,fl=0;
void bkt(int k,int n,int p)
{
    int i,j,z=1;
    if(p>k){
        for(i=1; i<k; i++)
            for(j=i+1; j<=k; j++)
                if(j-i==abs(v[j]-v[i]))
                    z=0;
        if(z==1)
            perm++;
        if(z==1 && fl==0){
            for(i=1; i<=k; i++)
                printf("%d ",v[i]);
            printf("\n");
            fl=1;
        }
    }
    else
    {
        for(v[p]=1; v[p]<=n; v[p]++)
        {
            if(f[v[p]]==0){
                f[v[p]]=1;
                bkt(k,n,p+1);
                f[v[p]]=0;
            }
        }

    }

}
int main()
{
    int i,n;
    freopen("damesah.in","r",stdin);
    freopen("damesah.out","w",stdout);
    scanf("%d",&n);
    bkt(n,n,1);
    printf("%d\n",perm);

    return 0;
}