Cod sursa(job #2650538)

Utilizator alextmAlexandru Toma alextm Data 19 septembrie 2020 12:06:13
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;

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

int N, ans, v[15];
bool c[16], diagl[32], diagr[32];

void print() {
    for(int i = 1; i <= N; i++)
        fout << v[i] << " ";
    fout << "\n";
}

void bkt(int k) {
    if(k == N + 1) {
        if(++ans == 1) print();
        return;
    }

    for(int i = 1; i <= N; i++) {
        if(!c[i] && !diagl[i-k+N-1] && !diagr[i+k+1]) {
            v[k] = i;
            c[i] = diagl[i-k+N-1] = diagr[i+k+1] = 1;
            bkt(k+1);
            c[i] = diagl[i-k+N-1] = diagr[i+k+1] = 0;
        }
    }
}

int main() {

    fin >> N;
    bkt(1);

    fout << ans << "\n";

    return 0;
}