Cod sursa(job #2000019)

Utilizator alextodoranTodoran Alexandru Raul alextodoran Data 12 iulie 2017 15:14:45
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,s,v[14],d1[27],d2[27],c[14];
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
void pr (int l,int i,int k)
{
    if(k==1)v[l]=i;
    else v[l]=0;
    d1[l-i+n]+=k;
    d2[l+i-1]+=k;
    c[i]+=k;
}
void gts (int l)
{
    int ok,i,j,k;
    if(l>n)
    {
        s++;
        if(s==1)
        {
            for(i=1;i<=n;i++)fout<<v[i]<<" ";
            fout<<"\n";
        }
    }
    else
    {
        for(i=1;i<=n;i++)
        {
            if(!c[i]&&!d1[l-i+n]&&!d2[i+l-1])
            {
               pr(l,i,1);
               gts(l+1);
               pr(l,i,-1);
            }
        }
    }
}
int main()
{

    fin>>n;
    gts(1);
    fout<<s;
    return 0;
}