Cod sursa(job #2626691)

Utilizator MerlinTheWizardMelvin Abibula MerlinTheWizard Data 7 iunie 2020 18:09:03
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int coloana[16],rasp[16],diagonala1[29],n,cnt,diagonala2[29];
void bkt(int poz)//poz-linia pe care vreau sa pun dama
{
    if(poz==n+1)
    {
        cnt++;
        if(cnt == 1)
        {
            for(int i=1;i<=n;i++)
            {
                g<<rasp[i]<<" ";
            }
            g<<"\n";
        }
        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(coloana[i]==0 && diagonala1[poz-i+n]==0 && diagonala2[poz+i-1]==0)
        {
            coloana[i]=1;
            diagonala1[poz-i+n]=1;
            diagonala2[poz+i-1]=1;
            rasp[poz]=i;
            bkt(poz+1);
            coloana[i]=0;
            diagonala1[poz-i+n]=0;
            diagonala2[poz+i-1]=0;
            rasp[poz]=0;
        }
    }
}
int main()
{
    f>>n;
    bkt(1);
    g<<cnt;
}