Cod sursa(job #2430630)

Utilizator cyg_Alex_codegicianBarbu Alexandru cyg_Alex_codegician Data 15 iunie 2019 17:10:12
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream cin("damesah.in");
ofstream cout("damesah.out");
int n,sol[15],nr;
bool valid(int poz)
{
    for (int i=1;i<poz;i++)
    {
        if (sol[i]==sol[poz]) return false;
        else if (abs(sol[i]-sol[poz])==abs(i-poz)) return false;
    }
    return true;
}
void afisare()
{
    for (int i=1;i<=n;i++)
    {
        cout << sol[i] << " ";
    }
    cout << '\n';
}
void bkt(int poz)
{
    if (poz>n)
    {
        nr++;
        if (nr==1) afisare();
    }
    else
    {
        for (int i=1;i<=n;i++)
        {
            sol[poz]=i;
            if (valid(poz)) bkt(poz+1);
        }
    }
}
int main()
{
    cin >> n;
    bkt(1);
    cout << nr;
}