Cod sursa(job #1547755)

Utilizator zertixMaradin Octavian zertix Data 9 decembrie 2015 20:29:40
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <cstdio>
using namespace std;

int n,c[14],dia1[30],dia2[30],rasp,rez[15];

void backt (int l)
{
    if (l==n+1)
    {
        if (rasp < 1)
           {
            for (int i=1; i<=n; ++i)

                printf("%d ",rez[i]);
            printf("\n");
           }

        ++rasp;
        return;
    }
    for (int i=1; i<=n; ++i)
        if (!c[i] && !dia1[l-i+n] && !dia2[l+i])
        {
            c[i]=1;
            dia1[l-i+n]=1;
            dia2[l+i]=1;
            rez[l]=i;
            backt(l+1);
            c[i]=0;
            dia1[l-i+n]=0;
            dia2[l+i]=0;
        }
}

int main()
{
    freopen("damesah.in","r",stdin);
    freopen("damesah.out","w",stdout);
    scanf("%d",&n);
    backt(1);
    printf("%d",rasp);

    return 0;
}