Cod sursa(job #2283325)

Utilizator stelian2000Stelian Chichirim stelian2000 Data 15 noiembrie 2018 13:22:39
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

int n,sol,v[15];
char col[15],mdiag[30],sdiag[30];

void backk(int poz)
{
    if(poz==n+1)
    {
        if(sol==0)
            for(int i=1;i<=n;i++) printf("%d ",v[i]);
        sol++;
        return;
    }
    else
    {
        for(int i=1;i<=n;i++)
        {
            if(col[i]) continue;
            if(mdiag[i-poz+n]) continue;
            if(sdiag[i+poz]) continue;
            v[poz]=i;
            col[i]=mdiag[i-poz+n]=sdiag[i+poz]=1;
            backk(poz+1);
            col[i]=mdiag[i-poz+n]=sdiag[i+poz]=0;
        }
    }
}

int main()
{
    freopen("damesah.in","r",stdin);
    freopen("damesah.out","w",stdout);
    scanf("%d",&n);
    backk(1);
    printf("\n%d",sol);
    return 0;
}