Cod sursa(job #1883365)

Utilizator pibogaBogdan piboga Data 17 februarie 2017 22:12:25
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

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

int n,s[17],d[17],sd[17],v[17],z,j;

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

void bc(int k)
{
    if (k==n+1)
    {
        ++z;
        if (z==1)
            af();
    }
    else
    {
        for (int j=1;j<=n;++j)
        {
            if ( !v[j] && !d[k+j] && !sd[k-j+13])
            {
                s[k]=j;
                d[k+j]=sd[k-j+13]=v[j]=1;
                bc(k+1);
                d[k+j]=sd[k-j+13]=v[j]=0;
            }
        }
    }
}


int main()
{
    fin >> n;
    bc(1);
    fout << z;
    return 0;
}