Cod sursa(job #2574511)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 5 martie 2020 23:09:29
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

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

const int MAX_N = 1e1 + 5;

int n, ans;

int col[2 * MAX_N], d1[2 * MAX_N], d2[2 * MAX_N];

int v[MAX_N];

void bkt(int p) {
  if (p == 1 + n) {
    ++ans;
    if (ans == 1) {
      for (int i = 1; i <= n; ++i) {
        fout << v[i] << " ";
      }
      fout << "\n";
    }
  } else {
    for (int i = 1; i <= n; ++i) {
      if (col[i] == 0 && d1[i + p] == 0 && d2[p + n - i] == 0) {
        v[p] = i;
        col[i] = 1;
        d1[i + p] = 1;
        d2[p + n - i] = 1;
        bkt(1 + p);
        col[i] = 0;
        d1[i + p] = 0;
        d2[p + n - i] = 0;
      }
    }
  }
}

int main() {
  fin >> n;
  bkt(1);
  fout << ans << "\n";
  return 0;
}