Cod sursa(job #3303587)

Utilizator diana_stefaniaMailat Diana Stefania diana_stefania Data 16 iulie 2025 14:07:54
Problema Problema Damelor Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("damesah.in");
ofstream fout("damesah.out");
int solutie[20],n,cnt;
void afisare(int k)
{
    for(int i=1;i<=k;++i)
        fout<<solutie[i]<<" ";

    fout<<'\n';
}
bool valid(int k)
{
    bool ok=true;
    for(int i=1;i<=k-1;i++)
    {
        if(solutie[k]==solutie[i]){
            ok=false;
             break;
        }
            if(k-i==abs(solutie[k]-solutie[i])){
                ok=false;
                break;
            }
    }
     return ok;
}
void bkt(int k)
{
  for(int i=1;i<=n;i++)
  {
      solutie[k]=i;
      if(valid(k)==true)
      {
          if(k==n)
          {
              cnt++;
              if(cnt==1){
              afisare(k);
              }
          }
          else
            bkt(k+1);
      }

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