Cod sursa(job #2548418)

Utilizator urtiComanac Dragos urti Data 16 februarie 2020 17:21:21
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
int v[14], n, cont;
int consistent (int k)
{
    for(int i=1;i<k;i++)
        if(v[k] == v[i] || (abs(v[i]-v[k]) == k-i))
            return 0;
    return 1;
}
int valid (int k)
{
    if(k==n)
        return 1;
    return 0;
}
void print ()
{

    if(cont == 0)
    {
    for(int i=1;i<=n;i++)
        fout<<v[i]<<' ';
    fout<<'\n';
    }
    cont += 1;
}
void bkt (int k)
{
    for(int i=1;i<=n;i++)
    {
        v[k]=i;
        if(consistent(k) == 1)
        {
            if(valid(k) == 1)
                print();
            else
                bkt(k+1);
        }
    }
}


int main()
{
    fin>>n;
    bkt(1);
    fout<<cont;
}