Cod sursa(job #1098937)

Utilizator Eugen_VlasieFMI Vlasie Eugen Eugen_Vlasie Data 5 februarie 2014 12:41:53
Problema Problema Damelor Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>

using namespace std;
ifstream f("damesah.in");
ofstream g("damesah.out");
int nr,ok,v[20],st[20],n;
void bkt(int k)
{
    int i,j,ok=0;
    if(k==n+1)
    {
        nr++;
        if(nr==1)
        {
            for(i=1;i<=n;i++)
                g<<st[i]<<" ";
            g<<'\n';
        }
    }
    else
    {
        for(i=1;i<=n;i++)
        {
            ok=0;
            if(!v[i])
            {
                for(j=1;j<k;j++)
                {
                    if(j+st[j]==k+i||j-st[j]==k-i)
                    {
                        ok=1;
                        break;
                    }
                }
                if(!ok)
                {
                    st[k]=i;
                    v[i]++;
                    bkt(k+1);
                    v[i]--;
                }
            }
        }
    }
}
int main()
{
    f>>n;
    bkt(1);
    g<<nr<<'\n';
    return 0;
}