Cod sursa(job #1839912)

Utilizator cata_sMihai-Catalin Stretcu cata_s Data 3 ianuarie 2017 16:40:11
Problema Problema Damelor Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>


using namespace std;

int nr=0,n,m[15],d1[32],d2[32],s[15],ok,j;

ifstream f("damesah.in");
ofstream g("damesah.out");

void dame(int n, int index)
{
    if(index==n)
    {
        nr++;

        if(nr==1)
        {
            for(int i=0; i<n; i++)
                g<<s[i]<<" ";
            g<<"\n";
        }
    }
    else
    {
        for(int i=1; i<=n; i++)
        {
            if(m[i]==0 && d2[index+i]==0 && d1[index-i +n]==0)
            {
                m[i]=1;
                d2[index+i]=1;
                d1[index-i +n]=1;
                s[index]=i;
                dame(n, index+1);
                m[i]=0;
                d2[index+i]=0;
                d1[index-i +n]=0;
            }
        }
    }
}

int main()
{
    f>>n;
    dame(n,0);
    g<<nr;
    f.close();
    g.close();
    return 0;
}