Cod sursa(job #2591193)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 29 martie 2020 22:59:01
Problema Problema Damelor Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int n,sol[15],res;
bool use[15],dp[30],ds[30],ok;
void afisare()
{
    ok=1;
    for(int i=1;i<=n;i++)
        g<<sol[i]<<" ";
    g<<"\n";
}
void bkt(int k)
{
    if(k==n+1)
    {
        res++;
        if(!ok)
            afisare();
    }
    else
    {
        for(int i=1;i<=n;i++)
        {
            if(use[i]==0 && !dp[i-k+n] && !ds[i+k-1])
            {
                sol[k]=i;
                use[i]=1;
                dp[i-k+n]=1;
                ds[i+k-1]=1;
                bkt(k+1);
                use[i]=0;
                dp[i-k+n]=0;
                ds[i+k-1]=0;
            }
        }
    }
}
int main()
{
    f>>n;
    bkt(1);
    g<<res;
    return 0;
}