Cod sursa(job #2265012)

Utilizator ianiIani Biro iani Data 20 octombrie 2018 14:58:18
Problema Problema Damelor Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int x[15],col[15],ds[15],dp[15],n,nrsol=0;
bool afisat=false;

void bkt(int k)
{
    if (k==n+1)
    {
        if (!afisat)
        {
            for (int i=1;i<=n;i++)
                fout<<x[i]<<' ';
            fout<<'\n';
            afisat=true;
        }
        nrsol++;
        return;
    }
    for (int i=1;i<=n;i++)
        if (col[i]+ds[i+k]+dp[i-k+n/2]==0)
        {
            col[i]=ds[i+k]=dp[i-k+n/2]=1;
            x[k]=i;
            bkt(k+1);
            col[i]=ds[i+k]=dp[i-k+n/2]=0;
        }
}

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