Cod sursa(job #2678368)

Utilizator stefan2806Radulescu Stefan stefan2806 Data 28 noiembrie 2020 12:12:16
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("damesah.in");
ofstream fout("damesah.out");

int n,v[15],ok;

bool validare(int k)
{
    int i;
    for(i=1; i<k; i++)
    {
        if(v[k]==v[i])
            return 0;
        if(abs(v[k]-v[i])==abs(k-i))
            return 0;
    }
    return 1;
}
bool solutie(int k)
{
    if(k==n)
        return 1;
    return 0;
}
void bk (int k)
{
    int i,j;
    for(i=1; i<=n; i++)
    {
        v[k]=i;
        if(validare(k)==1)
        {
            if(solutie(k)==1)
            {
                if(ok==0)
                {
                    for(j=1; j<=n; j++)
                        fout<<v[j]<<" ";
                        fout<<'\n';
                }
                ok++;
            }
            else
                bk(k+1);
        }
    }
}
int main()
{
    fin>>n;
    bk(1);
    fout<<ok;
    return 0;
}