Cod sursa(job #3203222)

Utilizator Sasha_12454Eric Paturan Sasha_12454 Data 13 februarie 2024 12:31:34
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in ("damesah.in");
ofstream out ("damesah.out");
const int NMAX=15;
int n;
int v[NMAX];
bool gasit=false;
int cnt;
void afis()
{
    for(int i=1; i<=n; i++)
        out<<v[i]<<" ";
    out<<'\n';
    gasit=true;
}
bool ok(int poz)
{
    for(int i=1; i<poz; i++)
    {
        if(v[poz]==v[i])
            return false;
        else if(abs(v[i]-v[poz])==abs(i-poz))
            return false;
    }
    return true;
}
void bkt(int poz)
{
    for(int i=1; i<=n; i++)
    {
        v[poz]=i;
        if(ok(poz))
        {
            if(poz==n)
            {
                if(!gasit)
                    afis();
                cnt++;
            }
            else
                bkt(poz+1);
        }
    }
}
int main()
{
    in>>n;
    bkt(1);
    out<<cnt;
    return 0;
}