Cod sursa(job #1998397)

Utilizator alextodoranTodoran Alexandru Raul alextodoran Data 7 iulie 2017 18:03:00
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
int n,s,x[14][14],v[14];
ifstream fin ("damesah.in");
ofstream fout ("damesah.out");
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++)
        {
            ok=1;
            k=i;
            for(j=l;j>=1&&k<=n&&ok;j--){if(x[j][k]){ok=0;break;}k++;}
            k=i;
            for(j=l;j>=1&&k>=1&&ok;j--){if(x[j][k]){ok=0;break;}k--;}
            for(j=l;j>=1&&ok;j--)if(x[j][i]){ok=0;break;}
            if(ok)
            {
               x[l][i]=1;
               v[l]=i;
               gts(l+1);
               v[l]=0;
               x[l][i]=0;
            }

        }
    }
}
int main()
{

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