Cod sursa(job #2482159)

Utilizator bleo16783FMI Bleotiu Cristian bleo16783 Data 27 octombrie 2019 20:44:12
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,sol[20],v[20],ans,sel[20],d1[20],d2[20];
void bkt (int k){
    if (k == n){
        ++ans;
        if (ans == 1){
            for (int i = 0; i < n; ++i)
                sol[i] = v[i];
        }
        return;
    }
    int x,y;
    for (int i = 0; i < n; ++i){
        x = i + k;
        y = n + i - k;
        if (!d1[y] && !d2[x] && !sel[i]){
            d1[y] = 1;
            d2[x] = 1;
            sel[i] = 1;
            v[k] = i;
            bkt (k + 1);
            v[k] = 0;
            sel[i] = 0;
            d1[y] = 0;
            d2[x] = 0;
        }
    }

}
int main()
{
    ifstream fin ("damesah.in");
    ofstream fout ("damesah.out");
    fin >> n;
    bkt (0);
    for (int i = 0; i < n; ++i)
        fout << sol[i] + 1 << " ";
    fout << '\n' << ans;
    return 0;
}