Cod sursa(job #2641292)

Utilizator abcabc123abc abc abcabc123 Data 10 august 2020 21:33:02
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

int n, c[14], nd;
bool col[14], diagp[26], diags[27];

void afisol () {
  for (int i = 1; i <= n; i++)
    fout << c[i] << ' ';
  fout << '\n';
}

void bkt (int l) {
  if (l == n + 1) {
    nd++;
    if (nd == 1)
      afisol ();
  }
  for (int i = 1; i <= n; i++)
    if (not col[i] and not diagp[i - l + n] and not diags[l + i]) {
      c[l] = i;
      col[i] = diagp[i - l + n] = diags[l + i] = true;
      bkt (l + 1);
      col[i] = diagp[i - l + n] = diags[l + i] = false;
    }
}

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