Cod sursa(job #2644319)

Utilizator Mihnea_DumitruDumitru Mihnea-Andrei Mihnea_Dumitru Data 24 august 2020 11:41:58
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("damesah.in");
ofstream out("damesah.out");
int N, nrsol, sol[15];
bool viz[15];

bool ok(int k,int val)
{
    for(int i=1;i<k;i++)
    {
        if(abs(val-sol[i])==abs(i-k))
            return false;
    }
    return true;
}

void bkt(int k)
{
    if(k>N)
    {
        if(nrsol==0)
        {
            for(int i=1;i<=N;i++)
                out<<sol[i]<<' ';
            out<<'\n';
        }
        nrsol++;
    }
    else
    {
        for(int i=1;i<=N;i++)
        {
            if(!viz[i] && ok(k,i))
            {
                viz[i]=true;
                sol[k]=i;
                bkt(k+1);
                viz[i]=false;
            }
        }

    }
}

int main()
{
    in>>N;
    bkt(1);
    out<<nrsol;
}