Cod sursa(job #2738163)

Utilizator armigheGheorghe Liviu Armand armighe Data 5 aprilie 2021 15:21:52
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,sol,st[15],col[15];

void afis()
{
    int i;
    if(sol==0)
    {
        for(i=1;i<=n;i++)
            g<<st[i]<<" ";
        g<<'\n';
    }
    sol++;
}

bool verif(int p)
{
    int i;
    for(i=1;i<p;i++)
    if(p-i==abs(st[p]-st[i]))
        return 0;
    return 1;
}

void bk(int p)
{
    int i;
    for(i=1;i<=n;i++)
    if(col[i]==0)
    {
        st[p]=i;
        col[i]=1;
        if(verif(p)==1)
        {
            if(p==n)
                afis();
            else
                bk(p+1);
        }
        col[i]=0;
    }
}

int main()
{
    f>>n;
    bk(1);
    g<<sol;
    return 0;
}