Cod sursa(job #3303191)

Utilizator Mocanu_Tudor_CristianMocanu Tudor Cristian Mocanu_Tudor_Cristian Data 14 iulie 2025 17:22:43
Problema Problema Damelor Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;

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

int a[15][15], c[15], d[15], n, rs;

void bkt(int k)
{
    for(int i = 1; i < k - 1; i++)
    {
        if(a[i][d[k - 1] + (k - 1- i)] == 1)
            return;
        if((d[k - 1] - (k - 1 - i)) > 0)
            if(a[i][d[k - 1] - (k - 1 - i)] == 1)
                return;
    }
    if(k == n+1){
        rs++;
        if(rs == 1){
            for(int i = 1; i <= n; i++)
                fout << d[i] << ' ';
            fout << endl;
        }
        return;
    }
    for(int i = 1; i <= n; i++){
        if(!c[i]){
            c[i] = 1;
            d[k] = i;
            a[k][d[k]] = 1;
            bkt(k + 1);
            c[i] = 0;
            a[k][d[k]] = 0;
        }
    }
}

int main()
{
    fin >> n;
    bkt(1);
    fout << rs << '\n';

    return 0;
}