Cod sursa(job #2782635)

Utilizator etohirseCristi Cretu etohirse Data 12 octombrie 2021 19:44:58
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>

std::fstream fin("damesah.in", std::ios::in);
std::fstream fout("damesah.out", std::ios::out);

int n, sol[15], ans;
bool messi = false;

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

bool verif(int k) {
  for (int i = 1; i < k; ++i) {
    if ((sol[i] == sol[k]) || abs(sol[k] - sol[i]) == (k - i)) return false;
  }
  return true;
}

void bkt(int k) {
  for (int i = 1; i <= n; ++i) {
    sol[k] = i;

    if (verif(k)) {
      if (k == n) {
        ans++;
        if (messi == false) {
          messi = true;
          afis();
        }
      }

      bkt(k + 1);
    }
  }
}

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